cfgparser: fix dereference before assert
authorFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 23 Oct 2012 12:38:22 +0000 (14:38 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 23 Oct 2012 12:49:41 +0000 (14:49 +0200)
Coverity:
CID 739688 (#1 of 1): Dereference before null check (REVERSE_INULL)
Null-checking "in->cnf" suggests that it may be null, but it has already
been dereferenced on all paths leading to the check.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/cfgparser/olsrd_conf.c

index d53b8d4..16ac1b0 100644 (file)
@@ -603,6 +603,9 @@ olsrd_sanity_check_cnf(struct olsrd_config *cnf)
   while (in) {
     struct olsr_lq_mult *mult, *mult_orig;
 
+    assert(in->cnf);
+    assert(in->cnfi);
+
     io = in->cnf;
 
     olsrd_print_interface_cnf(in->cnf, in->cnfi, false);
@@ -618,8 +621,6 @@ olsrd_sanity_check_cnf(struct olsrd_config *cnf)
       /*save interface specific lqmults, as they are merged togehter later*/
       mult_orig = io->lq_mult;
 
-      assert(in->cnf);
-      assert(in->cnfi);
       for (pos = 0; pos < sizeof(*in->cnf); pos++) {
         if (cnfptr[pos] != cnfiptr[pos]) {
           cnfptr[pos] = defptr[pos]; cnfiptr[pos]=0x00;