changeset 1319:345d2095a6d5

fix potential double free(), found by Coverity's Scan
author Igor Sysoev <igor@sysoev.ru>
date Thu, 19 Jul 2007 19:11:57 +0000
parents 114428c61a3a
children e30e9de091b7
files src/core/ngx_file.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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;
     }