summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-07-24 13:46:30 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-07-24 13:46:30 +0900
commit132c047c4d8b84cc879568ee3f2f8acfd403bd58 (patch)
treebb7d35c311efc4503c2dbe3b664fbdd7b5174865
parent878644970481e0ca14065f0391a87df2ef3d80f8 (diff)
downloadefl-132c047c4d8b84cc879568ee3f2f8acfd403bd58.tar.gz
embryo_cc - be sensible about realloc returns so analysers are happy
assingto tmp var then assign to real one after a check to analysers dont complain.
-rw-r--r--src/bin/embryo/embryo_cc_sc1.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/bin/embryo/embryo_cc_sc1.c b/src/bin/embryo/embryo_cc_sc1.c
index 2cacbe5bf9..41ccacdf34 100644
--- a/src/bin/embryo/embryo_cc_sc1.c
+++ b/src/bin/embryo/embryo_cc_sc1.c
@@ -2511,12 +2511,13 @@ declargs(symbol * sym)
* have a default value */
if ((sym->usage & uPROTOTYPED) == 0)
{
+ arginfo *tmp;
/* redimension the argument list, add the entry */
- sym->dim.arglist =
- (arginfo *) realloc(sym->dim.arglist,
- (argcnt + 2) * sizeof(arginfo));
- if (!sym->dim.arglist)
+ tmp = realloc(sym->dim.arglist,
+ (argcnt + 2) * sizeof(arginfo));
+ if (!tmp)
error(103); /* insufficient memory */
+ sym->dim.arglist = tmp;
sym->dim.arglist[argcnt] = arg;
sym->dim.arglist[argcnt + 1].ident = 0; /* keep the list
* terminated */
@@ -2548,12 +2549,13 @@ declargs(symbol * sym)
tags[numtags++] = 0; /* default tag */
if ((sym->usage & uPROTOTYPED) == 0)
{
+ arginfo *tmp;
/* redimension the argument list, add the entry iVARARGS */
- sym->dim.arglist =
- (arginfo *) realloc(sym->dim.arglist,
- (argcnt + 2) * sizeof(arginfo));
- if (!sym->dim.arglist)
+ tmp = realloc(sym->dim.arglist,
+ (argcnt + 2) * sizeof(arginfo));
+ if (!tmp)
error(103); /* insufficient memory */
+ sym->dim.arglist = tmp;
sym->dim.arglist[argcnt + 1].ident = 0; /* keep the list
* terminated */
sym->dim.arglist[argcnt].ident = iVARARGS;