aboutsummaryrefslogtreecommitdiffstats
path: root/src/expr.c
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2017-08-30 13:50:42 +0200
committerPádraig Brady <P@draigBrady.com>2017-08-30 12:04:29 -0700
commit87a95504bb01a8662c08bd0a7367c5cc92286aa3 (patch)
tree625ce5b3f4f0ae9005997f197b4421efc68a2331 /src/expr.c
parentbuild: fix build of renameat2 on Alpine Linux (diff)
downloadcoreutils-87a95504bb01a8662c08bd0a7367c5cc92286aa3.tar.gz
coreutils-87a95504bb01a8662c08bd0a7367c5cc92286aa3.zip
expr: fix a recently introduced memory leak
* 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);
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index 795140ce9..194b54b53 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -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);