Initialize the state file descriptor before allocating chain links and
buffers. Allocation failures otherwise reach cleanup with an
uninitialized descriptor and may close an unrelated file.
name = dict->state_temp_file.data;
+ ngx_memzero(&file, sizeof(ngx_file_t));
+ file.fd = NGX_INVALID_FILE;
+ file.name = dict->state_temp_file;
+ file.log = log;
+
out = NULL;
ll = &out;
*ll = NULL;
- ngx_memzero(&file, sizeof(ngx_file_t));
- file.name = dict->state_temp_file;
- file.log = log;
-
file.fd = ngx_open_file(file.name.data, NGX_FILE_WRONLY, NGX_FILE_TRUNCATE,
NGX_FILE_DEFAULT_ACCESS);