]> git.ipfire.org Git - thirdparty/rrdtool-1.x.git/commitdiff
src/rrd_graph_helper.c: fix Coverity CIDs#13641,#13642 Dereference null return value
authorMarek Schimara <Marek.Schimara@bull.net>
Fri, 17 Jun 2016 11:01:40 +0000 (13:01 +0200)
committerMarek Schimara <Marek.Schimara@bull.net>
Thu, 23 Jun 2016 14:32:33 +0000 (16:32 +0200)
        CWE-476 / https://cwe.mitre.org/data/definitions/476.html

src/rrd_graph_helper.c

index 3a6124824949835619043c0d0e330fee2fadc465..7b2a796c4ca937f7b262bc3721fd50e439471e35 100644 (file)
@@ -1352,13 +1352,17 @@ int parse_tick(enum gf_en gf,parsedargs_t* pa,image_desc_t *const im) {
 }
 
 int parse_textalign(enum gf_en gf,parsedargs_t* pa,image_desc_t *const im) {
+  keyvalue_t *kv;
   /* get new graph that we fill */
   graph_desc_t *gdp=newGraphDescription(im,gf,pa,0);
   if (!gdp) { return 1;}
 
   /* get align */
   char* align=getKeyValueArgument("align",1,pa);
-  if (!align) align=getFirstUnusedArgument(1,pa)->value;
+  if (!align) {
+    kv=getFirstUnusedArgument(1,pa);
+    if (kv) align=kv->value;
+  }
   if (!align) { rrd_set_error("No alignment given"); return 1; }
 
   /* parse align */
@@ -1385,6 +1389,7 @@ int parse_textalign(enum gf_en gf,parsedargs_t* pa,image_desc_t *const im) {
 }
 
 int parse_shift(enum gf_en gf,parsedargs_t* pa,image_desc_t *const im) {
+  keyvalue_t *kv;
   /* get new graph that we fill */
   graph_desc_t *gdp=newGraphDescription(im,gf,pa,PARSE_VNAMEREFPOS);
   if (!gdp) { return 1;}
@@ -1406,7 +1411,10 @@ int parse_shift(enum gf_en gf,parsedargs_t* pa,image_desc_t *const im) {
 
   /* now parse the "shift" */
   char* shift=getKeyValueArgument("shift",1,pa);
-  if (!shift) {shift=getFirstUnusedArgument(1,pa)->value;}
+  if (!shift) {
+    kv=getFirstUnusedArgument(1,pa);
+    if (kv) shift=kv->value;
+  }
   if (!shift) { rrd_set_error("No shift given"); return 1; }
   /* identify shift */
   gdp->shidx=find_var(im, shift);