aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-07-19 19:11:57 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-07-19 19:11:57 +0000
commitb1ccbdad7bef41c105b78384eafbf509af91fa36 (patch)
treebfe5383edba559d9a60082194f197e2badd81e60 /src
parent43ae46f40142ff394a2af1fad3eb62c9bf7fc8fa (diff)
downloadnginx-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.c7
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;
}