summaryrefslogtreecommitdiff
path: root/source3/lib/memcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/lib/memcache.c')
-rw-r--r--source3/lib/memcache.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source3/lib/memcache.c b/source3/lib/memcache.c
index 1951b4abf9..eaff15deda 100644
--- a/source3/lib/memcache.c
+++ b/source3/lib/memcache.c
@@ -340,9 +340,19 @@ void memcache_add(struct memcache *cache, enum memcache_number n,
}
void memcache_add_talloc(struct memcache *cache, enum memcache_number n,
- DATA_BLOB key, void *ptr)
+ DATA_BLOB key, void **pptr)
{
- void *p = talloc_move(cache, &ptr);
+ void **ptr = (void **)pptr;
+ void *p;
+
+ if (cache == NULL) {
+ cache = global_cache;
+ }
+ if (cache == NULL) {
+ return;
+ }
+
+ p = talloc_move(cache, ptr);
memcache_add(cache, n, key, data_blob_const(&p, sizeof(p)));
}