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>
Mon, 13 Jul 2009 16:55:05 +0000 (18:55 +0200)
metze

lib/talloc/talloc.c

index 33cbfd7d268dc737e95948c44575ac6c53d835d7..a48cc8a44e1e1f70ee7ceae19d604a721bc3757e 100644 (file)
@@ -1129,7 +1129,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;
@@ -1709,8 +1718,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);