# HG changeset patch # User Igor Sysoev # Date 1184872317 0 # Node ID 345d2095a6d58224a07fdd21a72b728f6c877af4 # Parent 114428c61a3aff8f2416079247ca587f4daad8b8 fix potential double free(), found by Coverity's Scan diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c --- a/src/core/ngx_file.c +++ b/src/core/ngx_file.c @@ -518,6 +518,9 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_s } ctx->data = data; + + } else { + data = NULL; } for ( ;; ) { @@ -643,8 +646,8 @@ done: ngx_free(buf.data); } - if (ctx->alloc) { - ngx_free(ctx->data); + if (data) { + ngx_free(data); ctx->data = prev; }