[PATCH] lib: fwts_log_*: fix a few smatch errors

Colin King colin.king at canonical.com
Wed Mar 6 18:49:07 UTC 2013


From: Colin Ian King <colin.king at canonical.com>

Minor re-working to fix up some smatch errors in fwts_log_*.c,
for example:

fwts_log_xml.c:142 fwts_log_section_begin_xml() error:
  testing array offset 'xml_stack_index' after use.

Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
 src/lib/src/fwts_log_html.c | 7 +++----
 src/lib/src/fwts_log_json.c | 8 ++++----
 src/lib/src/fwts_log_xml.c  | 7 +++----
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/src/lib/src/fwts_log_html.c b/src/lib/src/fwts_log_html.c
index 4b907c5..89557d4 100644
--- a/src/lib/src/fwts_log_html.c
+++ b/src/lib/src/fwts_log_html.c
@@ -376,8 +376,6 @@ static void fwts_log_newline_html(fwts_log_file *log_file)
 
 static void fwts_log_section_begin_html(fwts_log_file *log_file, const char *name)
 {
-	html_stack[html_stack_index].name = name;
-
 	if (!strcmp(name, "summary")) {
 		fwts_log_html(log_file, "<TR><TD class=style_heading COLSPAN=2>Summary</TD></TR>\n");
 	} else if (!strcmp(name, "heading")) {
@@ -390,9 +388,10 @@ static void fwts_log_section_begin_html(fwts_log_file *log_file, const char *nam
 
 	fflush(log_file->fp);
 
-	if (html_stack_index < MAX_HTML_STACK)
+	if (html_stack_index < MAX_HTML_STACK) {
+		html_stack[html_stack_index].name = name;
 		html_stack_index++;
-	else  {
+	} else  {
 		fprintf(stderr, "html log stack overflow pushing section %s.\n", name);
 		exit(EXIT_FAILURE);
 	}
diff --git a/src/lib/src/fwts_log_json.c b/src/lib/src/fwts_log_json.c
index f83abc5..bf28c0c 100644
--- a/src/lib/src/fwts_log_json.c
+++ b/src/lib/src/fwts_log_json.c
@@ -178,16 +178,16 @@ static void fwts_log_section_begin_json(fwts_log_file *log_file, const char *nam
 	 */
 	json_object_object_add(json_obj, name, json_log);
 
-	json_stack[json_stack_index].obj = json_obj;
-	json_stack[json_stack_index].log = json_log;
 
 	if (json_stack_index > 0)
 		if (json_object_array_add(json_stack[json_stack_index-1].log, json_obj) != 0)
 			fwts_log_out_of_memory_json();
 
-	if (json_stack_index < MAX_JSON_STACK)
+	if (json_stack_index < MAX_JSON_STACK) {
+		json_stack[json_stack_index].obj = json_obj;
+		json_stack[json_stack_index].log = json_log;
 		json_stack_index++;
-	else  {
+	} else  {
 		fprintf(stderr, "json log stack overflow pushing section %s.\n", name);
 		exit(EXIT_FAILURE);
 	}
diff --git a/src/lib/src/fwts_log_xml.c b/src/lib/src/fwts_log_xml.c
index b737357..393dfbe 100644
--- a/src/lib/src/fwts_log_xml.c
+++ b/src/lib/src/fwts_log_xml.c
@@ -134,14 +134,13 @@ static void fwts_log_newline_xml(fwts_log_file *log_file)
 
 static void fwts_log_section_begin_xml(fwts_log_file *log_file, const char *name)
 {
-	xml_stack[xml_stack_index].name = name;
-
 	fprintf(log_file->fp, "%*s<%s>\n", xml_stack_index * XML_INDENT, "", name);
 	fflush(log_file->fp);
 
-	if (xml_stack_index < MAX_XML_STACK)
+	if (xml_stack_index < MAX_XML_STACK) {
+		xml_stack[xml_stack_index].name = name;
 		xml_stack_index++;
-	else  {
+	} else  {
 		fprintf(stderr, "xml log stack overflow pushing section %s.\n", name);
 		exit(EXIT_FAILURE);
 	}
-- 
1.8.1.2




More information about the fwts-devel mailing list