dnsproxy: Only one copy of the relevant buffers will be made to a TCP request
[framework/connectivity/connman.git] / src / ippool.c
index 065c278..58a0d28 100644 (file)
@@ -296,7 +296,7 @@ update:
                if (!(it->start <= info->start || info->start <= it->end))
                        continue;
 
-               if (it->pool->collision_cb != NULL)
+               if (it->pool != NULL && it->pool->collision_cb != NULL)
                        it->pool->collision_cb(it->pool, it->pool->user_data);
 
                return;
@@ -323,7 +323,7 @@ void __connman_ippool_deladdr(int index, const char *address,
        info = lookup_info(index, start);
        if (info == NULL) {
                /* In theory this should never happen */
-               connman_error("Inconsisten IP pool management (start not found)");
+               connman_error("Inconsistent IP pool management (start not found)");
                return;
        }
 
@@ -353,12 +353,16 @@ struct connman_ippool *__connman_ippool_create(int index,
         * The range is at max 255 and we don't support overlapping
         * blocks.
         */
-       if (start + range > 254)
+       if (start + range > 254) {
+               connman_error("IP pool does not support pool size larger than 254");
                return NULL;
+       }
 
        block = get_free_block(start + range);
-       if (block == 0)
+       if (block == 0) {
+               connman_warn("Could not find a free IP block");
                return NULL;
+       }
 
        pool = g_try_new0(struct connman_ippool, 1);
        if (pool == NULL)