src/core/ngx_radix_tree.c:30: error: Integer Overflow L2
  ([0, +oo] - 32):unsigned64 by call to `ngx_radix_alloc`.

src/core/ngx_radix_tree.c:30:18: Call
28.     tree->size = 0;
29. 
30.     tree->root = ngx_radix_alloc(tree);
                     ^
31.     if (tree->root == NULL) {
32.         return NULL;

src/core/ngx_radix_tree.c:265:1: <LHS trace>
263. 
264. 
265. static void *
     ^
266. ngx_radix_alloc(ngx_radix_tree_t *tree)
267. {

src/core/ngx_radix_tree.c:265:1: Parameter `tree->size`
  263. 
  264. 
  265. static void *
       ^
  266. ngx_radix_alloc(ngx_radix_tree_t *tree)
  267. {

src/core/ngx_radix_tree.c:287:5: Binary operation: ([0, +oo] - 32):unsigned64 by call to `ngx_radix_alloc` 
  285.     p = tree->start;
  286.     tree->start += sizeof(ngx_radix_node_t);
  287.     tree->size -= sizeof(ngx_radix_node_t);
           ^
  288. 
  289.     return p;

static void *
ngx_radix_alloc(ngx_radix_tree_t *tree)
{
    char  *p;
    if (tree->free) {
        p = (char *) tree->free;
        tree->free = tree->free->right;
        return p;
    }
    if (tree->size < sizeof(ngx_radix_node_t)) {
        tree->start = ngx_pmemalign(tree->pool, ngx_pagesize, ngx_pagesize);
        if (tree->start == NULL) {
            return NULL;
        }
        tree->size = ngx_pagesize;
    }
    p = tree->start;
    tree->start += sizeof(ngx_radix_node_t);
    tree->size -= sizeof(ngx_radix_node_t);
    return p;
}
['ngx_radix_tree_t *\nngx_radix_tree_create(ngx_pool_t *pool, ngx_int_t preallocate)\n{\n    uint32_t           key, mask, inc;\n    ngx_radix_tree_t  *tree;\n    tree = ngx_palloc(pool, sizeof(ngx_radix_tree_t));\n    if (tree == NULL) {\n        return NULL;\n    }\n    tree->pool = pool;\n    tree->free = NULL;\n    tree->start = NULL;\n    tree->size = 0;\n    tree->root = ngx_radix_alloc(tree);\n    if (tree->root == NULL) {\n        return NULL;\n    }\n    tree->root->right = NULL;\n    tree->root->left = NULL;\n    tree->root->parent = NULL;\n    tree->root->value = NGX_RADIX_NO_VALUE;\n    if (preallocate == 0) {\n        return tree;\n    }\n    if (preallocate == -1) {\n        switch (ngx_pagesize / sizeof(ngx_radix_tree_t)) {\n        case 128:\n            preallocate = 6;\n            break;\n        case 256:\n            preallocate = 7;\n            break;\n        default:\n            preallocate = 8;\n        }\n    }\n    mask = 0;\n    inc = 0x80000000;\n    while (preallocate--) {\n        key = 0;\n        mask >>= 1;\n        mask |= 0x80000000;\n        do {\n            if (ngx_radix32tree_insert(tree, key, mask, NGX_RADIX_NO_VALUE)\n                != NGX_OK)\n            {\n                return NULL;\n            }\n            key += inc;\n        } while (key);\n        inc >>= 1;\n    }\n    return tree;\n}', 'static void *\nngx_radix_alloc(ngx_radix_tree_t *tree)\n{\n    char  *p;\n    if (tree->free) {\n        p = (char *) tree->free;\n        tree->free = tree->free->right;\n        return p;\n    }\n    if (tree->size < sizeof(ngx_radix_node_t)) {\n        tree->start = ngx_pmemalign(tree->pool, ngx_pagesize, ngx_pagesize);\n        if (tree->start == NULL) {\n            return NULL;\n        }\n        tree->size = ngx_pagesize;\n    }\n    p = tree->start;\n    tree->start += sizeof(ngx_radix_node_t);\n    tree->size -= sizeof(ngx_radix_node_t);\n    return p;\n}']