summaryrefslogtreecommitdiff
path: root/main/ast_expr2.y
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2012-03-24 02:42:42 +0000
committerRussell Bryant <russell@russellbryant.com>2012-03-24 02:42:42 +0000
commitcad07b3800b7212c363e2753d6d7540b585c3449 (patch)
tree80c307b11a35f91200f8b091d0f7e44715942339 /main/ast_expr2.y
parent721f92058f53b87a70872ec87dd1a35866280eee (diff)
Multiple revisions 360356-360357
........ r360356 | russell | 2012-03-23 22:33:36 -0400 (Fri, 23 Mar 2012) | 6 lines expression parser: Fix (theoretical) memory leak. Fix a memory leak that is very unlikely to actually happen. If a malloc() succeeded, but the following strdup() failed, the memory from the original malloc() would be leaked. ........ r360357 | russell | 2012-03-23 22:34:39 -0400 (Fri, 23 Mar 2012) | 6 lines Rebuild parsers. This is needed to include the last fix to main/ast_expr2.y. The changes look much bigger as this regeneration of the code was done with newer versions of flex and bison. ........ Merged revisions 360356-360357 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 360358 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/ast_expr2.y')
-rw-r--r--main/ast_expr2.y3
1 files changed, 3 insertions, 0 deletions
diff --git a/main/ast_expr2.y b/main/ast_expr2.y
index bf1237a53..83d3effe3 100644
--- a/main/ast_expr2.y
+++ b/main/ast_expr2.y
@@ -532,6 +532,9 @@ make_str (const char *s)
vp = (struct val *) malloc (sizeof (*vp));
if (vp == NULL || ((vp->u.s = strdup (s)) == NULL)) {
+ if (vp) {
+ free(vp);
+ }
ast_log(LOG_WARNING,"malloc() failed\n");
return(NULL);
}