* where the keys in the index are treated as patterns.
* This feature is required for module aliases.
*/
-#define INDEX_CHILDMAX 128
+#define INDEX_CHILDMAX 128u
/* Disk format:
*
*
* char[] prefix; // nul terminated
*
- * char first;
- * char last;
+ * unsigned char first;
+ * unsigned char last;
* uint32_t children[last - first + 1];
*
* uint32_t value_count;
const char *prefix;
int i, child_count, value_count, children_padding;
uint32_t children[INDEX_CHILDMAX];
- char first, last;
+ unsigned char first, last;
if ((offset & INDEX_NODE_MASK) == 0)
return NULL;
first = read_char_mm(&p);
last = read_char_mm(&p);
- if (first > last || first < 0 || last < 0)
+ if (first > last || first >= INDEX_CHILDMAX || last >= INDEX_CHILDMAX)
return NULL;
child_count = last - first + 1;