talloc: let talloc_total_blocks() and talloc_get_size() operate on the null_context
authorStefan Metzmacher <metze@samba.org>
Mon, 13 Jul 2009 16:51:24 +0000 (18:51 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Aug 2009 07:58:17 +0000 (09:58 +0200)
metze

lib/talloc/talloc.c

index 0126567c45a5e4f528221fea98162f7d48cc775b..8e91b60c99b9d64d24ca62ae399ac0788b69a8d5 100644 (file)
@@ -1227,7 +1227,16 @@ size_t talloc_total_size(const void *ptr)
 size_t talloc_total_blocks(const void *ptr)
 {
        size_t total = 0;
-       struct talloc_chunk *c, *tc = talloc_chunk_from_ptr(ptr);
+       struct talloc_chunk *c, *tc;
+
+       if (ptr == NULL) {
+               ptr = null_context;
+       }
+       if (ptr == NULL) {
+               return 0;
+       }
+
+       tc = talloc_chunk_from_ptr(ptr);
 
        if (tc->flags & TALLOC_FLAG_LOOP) {
                return 0;
@@ -1807,8 +1816,12 @@ size_t talloc_get_size(const void *context)
 {
        struct talloc_chunk *tc;
 
-       if (context == NULL)
+       if (context == NULL) {
+               context = null_context;
+       }
+       if (context == NULL) {
                return 0;
+       }
 
        tc = talloc_chunk_from_ptr(context);