Mercurial > hg > nginx-quic
comparison src/core/ngx_file.c @ 7328:3c357206a3b8
Dav: fixed ngx_copy_file() to truncate destination file.
Previously, ngx_open_file(NGX_FILE_CREATE_OR_OPEN) was used, resulting
in destination file being partially rewritten if exists. Notably,
this affected WebDAV COPY command (ticket #1576).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 01 Aug 2018 02:11:58 +0300 |
parents | d48c8cdac201 |
children | 63a76a594dd8 |
comparison
equal
deleted
inserted
replaced
7327:f7e79596baf2 | 7328:3c357206a3b8 |
---|---|
837 buf = ngx_alloc(len, cf->log); | 837 buf = ngx_alloc(len, cf->log); |
838 if (buf == NULL) { | 838 if (buf == NULL) { |
839 goto failed; | 839 goto failed; |
840 } | 840 } |
841 | 841 |
842 nfd = ngx_open_file(to, NGX_FILE_WRONLY, NGX_FILE_CREATE_OR_OPEN, | 842 nfd = ngx_open_file(to, NGX_FILE_WRONLY, NGX_FILE_TRUNCATE, cf->access); |
843 cf->access); | |
844 | 843 |
845 if (nfd == NGX_INVALID_FILE) { | 844 if (nfd == NGX_INVALID_FILE) { |
846 ngx_log_error(NGX_LOG_CRIT, cf->log, ngx_errno, | 845 ngx_log_error(NGX_LOG_CRIT, cf->log, ngx_errno, |
847 ngx_open_file_n " \"%s\" failed", to); | 846 ngx_open_file_n " \"%s\" failed", to); |
848 goto failed; | 847 goto failed; |