diff -r 570026d3a685 -r 47bc686fafe4 src/server/daemon/resourcepool.c --- a/src/server/daemon/resourcepool.c Sun May 15 08:56:00 2022 +0200 +++ b/src/server/daemon/resourcepool.c Sun Aug 07 13:46:43 2022 +0200 @@ -122,7 +122,7 @@ ResourceDataPrivate *resource = NULL; // was this resource already used by this request? - if(request->resources) { + if(request && request->resources) { resource = ucx_map_cstr_get(request->resources, name); if(resource) { return &resource->data; @@ -170,17 +170,19 @@ // for cleanup later int err = 0; if(resource) { - if(!request->resources) { - request->resources = ucx_map_new_a(&session->allocator, 8); - } - - if(request->resources) { - if(ucx_map_cstr_put(request->resources, name, resource)) { + if(request) { + if(!request->resources) { + request->resources = ucx_map_new_a(&session->allocator, 8); + } + + if(request->resources) { + if(ucx_map_cstr_put(request->resources, name, resource)) { + err = 1; + } + } else { err = 1; } - } else { - err = 1; - } + } // else: lookup is outside of any request context if(respool->type->prepare(respool->data, resource->resdata)) { err = -1;