radix: add debug validation to assist scan-build

util-radix-tree.c:595:34: warning: Access to field 'stream' results in a dereference of a null pointer (loaded from field 'prefix') [core.NullDereference]
        if ((temp = (stream[i] ^ bottom_node->prefix->stream[i])) == 0) {
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
util-radix-tree.c:717:30: warning: Access to field 'stream' results in a dereference of a null pointer (loaded from field 'prefix') [core.NullDereference]
        if (SC_RADIX_BITTEST(bottom_node->prefix->stream[differ_bit >> 3],
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./util-radix-tree.h:27:34: note: expanded from macro 'SC_RADIX_BITTEST'
 #define SC_RADIX_BITTEST(x, y) ((x) & (y))
                                 ^
2 warnings generated.
pull/8753/head
Victor Julien 2 years ago
parent 5914e0518c
commit fa5acc1743

@ -33,6 +33,7 @@
#include "util-byte.h"
#include "util-cidr.h"
#include "util-print.h"
#include "util-validate.h"
/**
* \brief Allocates and returns a new instance of SCRadixUserData.
@ -588,6 +589,9 @@ static SCRadixNode *SCRadixAddKey(
* the prefix */
bottom_node = node;
DEBUG_VALIDATE_BUG_ON(bottom_node == NULL);
DEBUG_VALIDATE_BUG_ON(bottom_node->prefix == NULL);
/* get the first bit position where the ips differ */
check_bit = (node->bit < bitlen)? node->bit: bitlen;
for (i = 0; (i * 8) < check_bit; i++) {

Loading…
Cancel
Save