summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@apple.com>2011-05-06 23:05:44 -0700
committerJeremy Huddleston <jeremyhu@apple.com>2011-05-06 23:05:44 -0700
commitd0e4971c8f533c4c166e8e35bf76ebca00f15bc6 (patch)
treea6d164f28fa0ed5e254327574e95968a688de32e
parentccc165063c128713e5eac52ace050e38ce72de02 (diff)
Fix a possible NULL dereference in an error handler
save.c:255:10: warning: Array access (via field 'wm_command') results in a null pointer dereference if (entry->wm_command[i]) ^ ~~~~~~~~~~ 1 warning generated. Found-by: clang static analyzer Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
-rw-r--r--save.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/save.c b/save.c
index 4bf3663..0f71fd1 100644
--- a/save.c
+++ b/save.c
@@ -249,15 +249,17 @@ give_up:
free (entry->class.res_class);
if (entry->wm_name)
free (entry->wm_name);
- if (entry->wm_command_count)
- {
- for (i = 0; i < entry->wm_command_count; i++)
- if (entry->wm_command[i])
- free (entry->wm_command[i]);
- }
if (entry->wm_command)
+ {
+ if (entry->wm_command_count)
+ {
+ for (i = 0; i < entry->wm_command_count; i++)
+ if (entry->wm_command[i])
+ free (entry->wm_command[i]);
+ }
free ((char *) entry->wm_command);
-
+ }
+
free ((char *) entry);
*pentry = NULL;