Coverity: Overrun static CID: 138
authorNelson Ferreira <nelson.ferreira@ieee.org>
Fri, 24 Feb 2012 21:28:20 +0000 (16:28 -0500)
committerNelson Ferreira <nelson.ferreira@ieee.org>
Fri, 24 Feb 2012 21:28:20 +0000 (16:28 -0500)
* src/dumper.c (pdump_register_struct): Be even more obvious that
control flow ends on abort, which could fall through in the case
of fatal error.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
src/dumper.c

index 2f6742b..1b782a9 100644 (file)
@@ -587,19 +587,20 @@ pdump_register_struct(const void *data,
                if (me >= 65536) {
                        stderr_out("Backtrace overflow, loop ?\n");
                        abort();
+               } else {
+                       backtrace[me].obj = 0;
+                       backtrace[me].position = 0;
+                       backtrace[me].offset = 0;
+                       
+                       pdump_add_entry(pdump_get_entry_list(sdesc),
+                                       data, sdesc->size, count);
+                       for (i = 0; i < count; i++) {
+                               pdump_register_sub(
+                                       ((const char*)data) + sdesc->size * i,
+                                       sdesc->description, me);
+                       }
+                       --depth;
                }
-               backtrace[me].obj = 0;
-               backtrace[me].position = 0;
-               backtrace[me].offset = 0;
-
-               pdump_add_entry(pdump_get_entry_list(sdesc),
-                               data, sdesc->size, count);
-               for (i = 0; i < count; i++) {
-                       pdump_register_sub(
-                               ((const char*)data) + sdesc->size * i,
-                               sdesc->description, me);
-               }
-               --depth;
        }
 }