]> git.kaiwu.me - nginx.git/commitdiff
fix segfault introduced in r2486 in $sent_http_location processing
authorIgor Sysoev <igor@sysoev.ru>
Tue, 24 Feb 2009 22:02:08 +0000 (22:02 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Tue, 24 Feb 2009 22:02:08 +0000 (22:02 +0000)
src/http/ngx_http_variables.c

index 360f8376f95cb4f914528ea8b482f205904bc98e..0c46c35fab6f9fc4259aad787796f9f77a933c2f 100644 (file)
@@ -1316,6 +1316,8 @@ static ngx_int_t
 ngx_http_variable_sent_location(ngx_http_request_t *r,
     ngx_http_variable_value_t *v, uintptr_t data)
 {
+    ngx_str_t  name;
+
     if (r->headers_out.location) {
         v->len = r->headers_out.location->value.len;
         v->valid = 1;
@@ -1326,7 +1328,10 @@ ngx_http_variable_sent_location(ngx_http_request_t *r,
         return NGX_OK;
     }
 
-    return ngx_http_variable_unknown_header(v, (ngx_str_t *) data,
+    name.len = sizeof("sent_http_location") - 1;
+    name.data = (u_char *) "sent_http_location";
+
+    return ngx_http_variable_unknown_header(v, &name,
                                             &r->headers_out.headers.part,
                                             sizeof("sent_http_") - 1);
 }