]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
expr: fix a recently introduced memory leak
authorKamil Dudka <kdudka@redhat.com>
Wed, 30 Aug 2017 11:50:42 +0000 (13:50 +0200)
committerPádraig Brady <P@draigBrady.com>
Wed, 30 Aug 2017 19:04:29 +0000 (12:04 -0700)
* src/expr.c (eval6): Free memory allocated by mbs_logical_substr().

Introduced in v8.27-47-ga9f2be5.  Detected by Coverity Analysis:

Error: RESOURCE_LEAK:
src/expr.c:851: leaked_storage: Variable "s" going out of scope
leaks the storage it points to.
849|             char *s = mbs_logical_substr (l->u.s, pos, len);
850|             v = str_value (s);
851|->         }
852|         freev (l);
853|         freev (i1);

src/expr.c

index 795140ce98ffe61c229c426b0fe6976947640e9f..194b54b53788266a07ccd459f15a57b859d974b4 100644 (file)
@@ -848,6 +848,7 @@ eval6 (bool evaluate)
 
           char *s = mbs_logical_substr (l->u.s, pos, len);
           v = str_value (s);
+          free (s);
         }
       freev (l);
       freev (i1);