]> git.ozlabs.org Git - ccan/blobdiff - ccan/tal/talloc/talloc.c
take, tal, tal/path, tal/str, tal/talloc: annotate APIs with TAKES.
[ccan] / ccan / tal / talloc / talloc.c
index ad21b704d2acc5a0e9b386ce6288500614160d81..ab96ff78a7e878b1c630df847ef27316e501998d 100644 (file)
@@ -1,6 +1,5 @@
 /* Licensed under LGPL - see LICENSE file for details */
 #include <ccan/tal/talloc/talloc.h>
 /* Licensed under LGPL - see LICENSE file for details */
 #include <ccan/tal/talloc/talloc.h>
-#include <ccan/take/take.h>
 #include <errno.h>
 #include <assert.h>
 
 #include <errno.h>
 #include <assert.h>
 
@@ -141,6 +140,13 @@ bool tal_talloc_resize_(tal_t **ctxp, size_t size, size_t count)
                *ctxp = newp;
                return true;
        }
                *ctxp = newp;
                return true;
        }
+
+       /* count is unsigned, not size_t, so check for overflow here! */
+       if ((unsigned)count != count) {
+               call_error("Resize overflos");
+               return false;
+       }
+
        newp = _talloc_realloc_array(NULL, *ctxp, size, count, NULL);
        if (!newp) {
                call_error("Resize failure");
        newp = _talloc_realloc_array(NULL, *ctxp, size, count, NULL);
        if (!newp) {
                call_error("Resize failure");