fix potential double free(),
found by Coverity's Scan
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 55cfd7c..fcb8ff0 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -518,6 +518,9 @@
         }
 
         ctx->data = data;
+
+    } else {
+        data = NULL;
     }
 
     for ( ;; ) {
@@ -643,8 +646,8 @@
         ngx_free(buf.data);
     }
 
-    if (ctx->alloc) {
-        ngx_free(ctx->data);
+    if (data) {
+        ngx_free(data);
         ctx->data = prev;
     }