]> git.kaiwu.me - nginx.git/commitdiff
r1318, r1319, r1320, r1321 merge:
authorIgor Sysoev <igor@sysoev.ru>
Sun, 22 Jul 2007 08:40:39 +0000 (08:40 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Sun, 22 Jul 2007 08:40:39 +0000 (08:40 +0000)
fix various bugs found by Coverity's Scan

src/core/nginx.c
src/core/ngx_file.c
src/core/ngx_palloc.c
src/http/modules/ngx_http_ssi_filter_module.c

index df6c72cfda18260111d7dd310ea0bb48b2c0e76d..b758775e3eca241892da0f52b034159759ca71d1 100644 (file)
@@ -438,6 +438,9 @@ ngx_set_environment(ngx_cycle_t *cycle, ngx_uint_t *last)
     }
 
     var = ngx_array_push(&ccf->env);
+    if (var == NULL) {
+        return NULL;
+    }
 
     var->len = 2;
     var->data = (u_char *) "TZ";
index cef4dc1b8756a648d4677fec7e2a6c3cb8eebebf..92c74d699888f43e8dd39fb06fd7856feeb9cd47 100644 (file)
@@ -456,6 +456,9 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree)
         }
 
         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;
     }
 
index 2e72a0f3b4fd6645b41d9839ad39f67b44900ac5..978fc30f008a8373044accd56e4273672cbb53a8 100644 (file)
@@ -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;
     }
 
index 549ae4ce2bc77a3977e993451fa881a45abd23a0..0de03aae0831dcc8e4b045ad6aef3b27cab039fa 100644 (file)
@@ -439,6 +439,8 @@ ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
                 if (rc == NGX_ERROR || rc == NGX_AGAIN) {
                     return rc;
                 }
+
+                break;
             }
         }