changeset 3032:524ba56ba9f7

fix copy destination name length, introduced in r3025
author Igor Sysoev <igor@sysoev.ru>
date Thu, 20 Aug 2009 13:37:26 +0000
parents 98a8336c5b7c
children db3e5c4c7413
files src/core/ngx_file.c src/http/modules/ngx_http_dav_module.c src/http/ngx_http_upstream.c
diffstat 3 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -605,12 +605,12 @@ ngx_ext_rename_file(ngx_str_t *src, ngx_
         cf.time = ext->time;
         cf.log = ext->log;
 
-        name = ngx_alloc(to->len + 1 + 10, ext->log);
+        name = ngx_alloc(to->len + 1 + 10 + 1, ext->log);
         if (name == NULL) {
             return NGX_ERROR;
         }
 
-        (void) ngx_sprintf(name, "%*s.%010uD%Z", to->len - 1, to->data,
+        (void) ngx_sprintf(name, "%*s.%010uD%Z", to->len, to->data,
                            (uint32_t) ngx_next_temp_number(0));
 
         if (ngx_copy_file(src->data, name, &cf) == NGX_OK) {
--- a/src/http/modules/ngx_http_dav_module.c
+++ b/src/http/modules/ngx_http_dav_module.c
@@ -214,6 +214,8 @@ ngx_http_dav_put_handler(ngx_http_reques
 
     ngx_http_map_uri_to_path(r, &path, &root, 0);
 
+    path.len--;
+
     ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                    "http put filename: \"%s\"", path.data);
 
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -2661,6 +2661,8 @@ ngx_http_upstream_store(ngx_http_request
         }
     }
 
+    path.len--;
+
     ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                    "upstream stores \"%s\" to \"%s\"",
                    tf->file.name.data, path.data);