From: Marek Schimara Date: Fri, 17 Jun 2016 07:47:25 +0000 (+0200) Subject: src/rrd_graph_helper.c: fix Coverity CID#13675 Dereference before null check X-Git-Tag: v1.7.0~42^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=61cabc21fc7ebdf5f3fe769f369d8b697eed1029;p=thirdparty%2Frrdtool-1.x.git src/rrd_graph_helper.c: fix Coverity CID#13675 Dereference before null check CWE-476 / https://cwe.mitre.org/data/definitions/476.html --- diff --git a/src/rrd_graph_helper.c b/src/rrd_graph_helper.c index 0f518eec..3a612482 100644 --- a/src/rrd_graph_helper.c +++ b/src/rrd_graph_helper.c @@ -140,20 +140,19 @@ int getMappedKeyValueArgument(const char* key,int flag, parsedargs_t* pa, } int getLong(const char* v,long *val,char**extra,int base) { + if (extra == NULL) + return 0; + /* try to execute the parser */ /* NOTE that this may be a bit different from the original parser */ *extra=NULL; *val=strtol(v,extra,base); /* and error handling */ - if (extra==NULL) { - return 0; - } else { - if (*extra==v) { - return -1; /* failed miserably */ - } else { - if ((*extra)[0]==0) { return 0; } - return 1; /* got extra bytes */ - } + if (*extra==v) { + return -1; /* failed miserably */ + } else { + if ((*extra)[0]==0) { return 0; } + return 1; /* got extra bytes */ } /* not found, so return error */ return -2;