changeset 476:09b45263c817 NGINX_0_7_50

nginx 0.7.50 *) Change: a segmentation fault might occur in worker process, if the $arg_... variables were used; the bug had appeared in 0.7.48.
author Igor Sysoev <http://sysoev.ru>
date Mon, 06 Apr 2009 00:00:00 +0400
parents aed0c0cf845d
children ba2ea8c4d60f
files CHANGES CHANGES.ru src/core/nginx.h src/core/ngx_string.c src/http/modules/perl/nginx.pm
diffstat 5 files changed, 17 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,10 @@
 
+Changes with nginx 0.7.50                                        06 Apr 2009
+
+    *) Change: a segmentation fault might occur in worker process, if the 
+       $arg_... variables were used; the bug had appeared in 0.7.48.
+
+
 Changes with nginx 0.7.49                                        06 Apr 2009
 
     *) Change: a segmentation fault might occur in worker process, if the 
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,7 +1,13 @@
 
+Изменения в nginx 0.7.50                                          06.04.2009
+
+    *) Изменение: при использовании переменных $arg_... в рабочем процессе 
+       мог произойти segmentation fault; ошибка появилась в 0.7.48.
+
+
 Изменения в nginx 0.7.49                                          06.04.2009
 
-    *) Изменение: если использовании переменных $arg_... в рабочем процессе 
+    *) Изменение: при использовании переменных $arg_... в рабочем процессе 
        мог произойти segmentation fault; ошибка появилась в 0.7.48.
 
 
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -8,8 +8,8 @@
 #define _NGINX_H_INCLUDED_
 
 
-#define nginx_version       007049
-#define NGINX_VERSION      "0.7.49"
+#define nginx_version       007050
+#define NGINX_VERSION      "0.7.50"
 #define NGINX_VER          "nginx/" NGINX_VERSION
 
 #define NGINX_VAR          "NGINX"
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -703,17 +703,13 @@ ngx_strlcasestrn(u_char *s1, u_char *las
 {
     ngx_uint_t  c1, c2;
 
-    if (s1 <= last) {
-        return NULL;
-    }
-
     c2 = (ngx_uint_t) *s2++;
     c2  = (c2 >= 'A' && c2 <= 'Z') ? (c2 | 0x20) : c2;
     last -= n;
 
     do {
         do {
-            if (s1 == last) {
+            if (s1 >= last) {
                 return NULL;
             }
 
--- a/src/http/modules/perl/nginx.pm
+++ b/src/http/modules/perl/nginx.pm
@@ -47,7 +47,7 @@ our @EXPORT = qw(
     HTTP_INSUFFICIENT_STORAGE
 );
 
-our $VERSION = '0.7.49';
+our $VERSION = '0.7.50';
 
 require XSLoader;
 XSLoader::load('nginx', $VERSION);