From ac363b54512710f02ff6c7ab141576cbc53d7d17 Mon Sep 17 00:00:00 2001 From: David Hummel <6109326+hummeltech@users.noreply.github.com> Date: Wed, 21 Oct 2026 09:06:55 -0700 Subject: [PATCH] Addressing `free(store) in renderd_list not safe for some storages` --- src/store_memcached.c | 1 + src/store_rados.c | 1 + src/store_ro_composite.c | 2 +- src/store_ro_http_proxy.c | 3 +-- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/store_memcached.c b/src/store_memcached.c index 8ddf8a4c6..981b8b102 100644 --- a/src/store_memcached.c +++ b/src/store_memcached.c @@ -264,6 +264,7 @@ static int memcached_metatile_expire(struct storage_backend * store, const char static int memcached_close_storage(struct storage_backend * store) { memcached_free(store->storage_ctx); + store->storage_ctx = NULL; return 0; } diff --git a/src/store_rados.c b/src/store_rados.c index 2d6d311aa..c057a804e 100644 --- a/src/store_rados.c +++ b/src/store_rados.c @@ -329,6 +329,7 @@ static int rados_close_storage(struct storage_backend * store) free(ctx->metadata_cache.data); free(ctx->pool); free(ctx); + store->storage_ctx = NULL; return 0; } diff --git a/src/store_ro_composite.c b/src/store_ro_composite.c index 998be9174..8faf4b4d6 100644 --- a/src/store_ro_composite.c +++ b/src/store_ro_composite.c @@ -210,7 +210,7 @@ static int ro_composite_close_storage(struct storage_backend * store) } free(ctx); - free(store); + store->storage_ctx = NULL; return 0; } diff --git a/src/store_ro_http_proxy.c b/src/store_ro_http_proxy.c index 00f95b2e8..69925fb7e 100644 --- a/src/store_ro_http_proxy.c +++ b/src/store_ro_http_proxy.c @@ -242,8 +242,7 @@ static int ro_http_proxy_close_storage(struct storage_backend * store) curl_easy_cleanup(ctx->ctx); free(ctx); - free(store); - + store->storage_ctx = NULL; return 0; }