[389-devel] Please review: 389-admin: htmladmin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If htmladmin fails to connect to the server, the cgi could crash.

This patch checks the flag for the server status and avoids the
unnecessary free.

>From 4ec23c03450d45639282c173d2e095c4023876bb Mon Sep 17 00:00:00 2001
From: Noriko Hosoi <nhosoi@xxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 23 Mar 2012 13:13:08 -0700
Subject: [PATCH] If htmladmin fails to connect to the server, the cgi could
 crash.

This patch checks the flag for the server status and avoids the
unnecessary free.
---
 admserv/cgi-src40/htmladmin.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/admserv/cgi-src40/htmladmin.c b/admserv/cgi-src40/htmladmin.c
index 09d0ad0..7110526 100644
--- a/admserv/cgi-src40/htmladmin.c
+++ b/admserv/cgi-src40/htmladmin.c
@@ -1175,8 +1175,8 @@ int output_topology(AdmldapInfo ldapInfo,
 	      char *admin_url;
 	      char *server_host;
 	      int *server_port;
-	      int running;
-	      char *href;
+	      int running = 0;
+	      char *href = NULL;
 	      char *info_link;
 	      char *log_link;
 
@@ -1232,7 +1232,10 @@ int output_topology(AdmldapInfo ldapInfo,
 
 	        free((void *)dn_escaped);
 	        free((void *)val_escaped);
-	        PR_smprintf_free((char *)href);
+	        if (running == 1) {
+	          PR_smprintf_free((char *)href);
+	          href = NULL;
+	        }
 	        PR_smprintf_free((char *)info_link);
 	        PR_smprintf_free((char *)log_link);
 	      } else if(strstr(ldap_get_dn(server, sie_entry), "Directory")) {
@@ -1276,7 +1279,9 @@ int output_topology(AdmldapInfo ldapInfo,
 	        free((void *)dn_escaped);
 	        free((void *)val_escaped);
 	        free((void *)host_escaped);
-	        PR_smprintf_free((char *)href);
+	        if (href) {
+	          PR_smprintf_free((char *)href);
+	        }
 	        PR_smprintf_free((char *)info_link);
 	        PR_smprintf_free((char *)log_link);
 	        PR_smprintf_free((char *)repl_link);
-- 
1.7.7.6

--
389-devel mailing list
389-devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/389-devel

[Index of Archives]     [Fedora Directory Announce]     [Fedora Users]     [Older Fedora Users Mail]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Review]     [Fedora Art]     [Fedora Music]     [Fedora Packaging]     [CentOS]     [Fedora SELinux]     [Big List of Linux Books]     [KDE Users]     [Fedora Art]     [Fedora Docs]

  Powered by Linux