From 80b8fdfab0b5828b0a3cbdf7093c710fbde0306e Mon Sep 17 00:00:00 2001 From: Fabian Keil <fk@fabiankeil.de> Date: Sun, 8 May 2016 10:46:18 +0000 Subject: [PATCH] cgi_show_client_tags(): Fix theoretical memory leak (CID #161209) --- cgisimple.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/cgisimple.c b/cgisimple.c index 530c5816..34cc5819 100644 --- a/cgisimple.c +++ b/cgisimple.c @@ -1,4 +1,4 @@ -const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.138 2016/04/04 10:55:47 fabiankeil Exp $"; +const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.139 2016/05/08 10:44:39 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $ @@ -347,7 +347,7 @@ jb_err cgi_show_client_tags(struct client_state *csp, const char *toggle_state; const char *tag_expires; time_t time_to_live; - char *client_tags = strdup_or_die(""); + char *client_tags; char buf[1000]; assert(csp); @@ -385,16 +385,13 @@ jb_err cgi_show_client_tags(struct client_state *csp, this_tag = csp->config->client_tags; if (this_tag->name == NULL) { - if (!err) err = string_append(&client_tags, "<p>No tags available.</p>\n"); + client_tags = strdup_or_die("<p>No tags available.</p>\n")); } else { - if (!err) - { - err = string_append(&client_tags, "<table border=\"1\">\n" - "<tr><th>Tag name</th>\n" - "<th>Current state</th><th>Change state</th><th>Description</th></tr>\n"); - } + client_tags = strdup_or_die("<table border=\"1\">\n" + "<tr><th>Tag name</th>\n" + "<th>Current state</th><th>Change state</th><th>Description</th></tr>\n"); while ((this_tag != NULL) && (this_tag->name != NULL)) { int tag_state; -- 2.49.0