diff options
author | Igor Sysoev <igor@sysoev.ru> | 2007-07-19 19:11:57 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2007-07-19 19:11:57 +0000 |
commit | b1ccbdad7bef41c105b78384eafbf509af91fa36 (patch) | |
tree | bfe5383edba559d9a60082194f197e2badd81e60 /src | |
parent | 43ae46f40142ff394a2af1fad3eb62c9bf7fc8fa (diff) | |
download | nginx-b1ccbdad7bef41c105b78384eafbf509af91fa36.tar.gz nginx-b1ccbdad7bef41c105b78384eafbf509af91fa36.zip |
fix potential double free(),
found by Coverity's Scan
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ngx_file.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c index 55cfd7ca2..fcb8ff080 100644 --- 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_str_t *tree) } 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; } |