diff --git a/query.c b/query.c index f7e1f82..6672e07 100644 --- a/query.c +++ b/query.c @@ -743,9 +743,14 @@ on_read_request_process(struct query_state *qstate) &read_response->data_size); if (read_response->error_code == -2) { - read_response->error_code = 0; - read_response->data = NULL; - read_response->data_size = 0; + read_response->data = malloc( + read_response->data_size); + assert(read_response != NULL); + read_response->error_code = cache_read(neg_c_entry, + read_request->cache_key, + read_request->cache_key_size, + read_response->data, + &read_response->data_size); } } configuration_unlock_entry(qstate->config_entry, CELT_NEGATIVE);