changeset 1326:ccd8734e4a80 stable-0.5

r1318, r1319, r1320, r1321 merge: fix various bugs found by Coverity's Scan
author Igor Sysoev <igor@sysoev.ru>
date Sun, 22 Jul 2007 08:40:39 +0000
parents 8b34fbcd9393
children b766d9c0a2be
files src/core/nginx.c src/core/ngx_file.c src/core/ngx_palloc.c src/http/modules/ngx_http_ssi_filter_module.c
diffstat 4 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/nginx.c
+++ b/src/core/nginx.c
@@ -438,6 +438,9 @@ ngx_set_environment(ngx_cycle_t *cycle, 
     }
 
     var = ngx_array_push(&ccf->env);
+    if (var == NULL) {
+        return NULL;
+    }
 
     var->len = 2;
     var->data = (u_char *) "TZ";
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -456,6 +456,9 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_s
         }
 
         ctx->data = data;
+
+    } else {
+        data = NULL;
     }
 
     for ( ;; ) {
@@ -581,8 +584,8 @@ done:
         ngx_free(buf.data);
     }
 
-    if (ctx->alloc) {
-        ngx_free(ctx->data);
+    if (data) {
+        ngx_free(data);
         ctx->data = prev;
     }
 
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -163,6 +163,7 @@ ngx_palloc(ngx_pool_t *pool, size_t size
 
     large = ngx_palloc(pool, sizeof(ngx_pool_large_t));
     if (large == NULL) {
+        ngx_free(p);
         return NULL;
     }
 
--- a/src/http/modules/ngx_http_ssi_filter_module.c
+++ b/src/http/modules/ngx_http_ssi_filter_module.c
@@ -439,6 +439,8 @@ ngx_http_ssi_body_filter(ngx_http_reques
                 if (rc == NGX_ERROR || rc == NGX_AGAIN) {
                     return rc;
                 }
+
+                break;
             }
         }