]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
[COVERITY] Fix memory leak in libss (ss_execute_line)
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 21 Mar 2007 21:34:47 +0000 (17:34 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 21 Mar 2007 21:34:47 +0000 (17:34 -0400)
Fix a memory leak by freeing the argv[] array if ss_parse_line returns 0
for argc 0 (which will happen if the user his return and sends an empty
line to the application).

Potentially need to free argv before early return since it was allocated
memory. Need to be careful since it may be possible for ss_parse() to have
freed the memory allocated to it if it detects an unbalanced set of quotes
passed to it.

Coverity ID: 21: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
lib/ss/ChangeLog
lib/ss/execute_cmd.c

index 1bb4272a40774974b345e826af810684fc80b9f1..ca8f941b2aa8e7147528bbddc8e8c9fa234e40b5 100644 (file)
@@ -1,3 +1,10 @@
+2007-03-21  Theodore Tso  <tytso@mit.edu>
+
+       * execute_cmd.c (ss_execute_line): Fix a memory leak by freeing
+               the argv[] array if ss_parse_line returns 0 for argc 0
+               (which will happen if the user his return and sends an
+               empty line to the application).
+
 2007-03-19  Theodore Tso  <tytso@mit.edu>
 
        * help.c (ss_add_info_dir): Fix error checking for NULL parameter
index 0f6a8c791f8739e9afc6d182117baf29976bc195..b9f2a4efb0287e5dc744a0d2e6f735cb374d8f33 100644 (file)
@@ -220,8 +220,11 @@ int ss_execute_line (sci_idx, line_ptr)
 
     /* parse it */
     argv = ss_parse(sci_idx, line_ptr, &argc);
-    if (argc == 0)
+    if (argc == 0) {
+       if (argv)
+           free(argv);
         return 0;
+    }
 
     /* look it up in the request tables, execute if found */
     ret = really_execute_command (sci_idx, argc, &argv);