changeset 360:2b41fbc2e39e NGINX_0_6_24

nginx 0.6.24 *) Bugfix: a segmentation fault might occur in worker process if HTTPS was used; bug appeared in 0.6.23.
author Igor Sysoev <http://sysoev.ru>
date Thu, 27 Dec 2007 00:00:00 +0300
parents 580da4bad456
children 160660bad929
files CHANGES CHANGES.ru src/core/nginx.h src/event/ngx_event_openssl.c src/http/modules/perl/nginx.pm
diffstat 5 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,10 @@
 
+Changes with nginx 0.6.24                                        27 Dec 2007
+
+    *) Bugfix: a segmentation fault might occur in worker process if HTTPS 
+       was used; bug appeared in 0.6.23.
+
+
 Changes with nginx 0.6.23                                        27 Dec 2007
 
     *) Change: the "off" parameter in the "ssl_session_cache" directive; 
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,4 +1,10 @@
 
+Изменения в nginx 0.6.24                                          27.12.2007
+
+    *) Исправление: при использовании HTTPS в рабочем процессе мог 
+       произойти segmentation fault. ошибка появилась в 0.6.23.
+
+
 Изменения в nginx 0.6.23                                          27.12.2007
 
     *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот 
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -8,7 +8,7 @@
 #define _NGINX_H_INCLUDED_
 
 
-#define NGINX_VERSION      "0.6.23"
+#define NGINX_VERSION      "0.6.24"
 #define NGINX_VER          "nginx/" NGINX_VERSION
 
 #define NGINX_VAR          "NGINX"
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -996,8 +996,10 @@ ngx_ssl_read_handler(ngx_event_t *rev)
 void
 ngx_ssl_free_buffer(ngx_connection_t *c)
 {
-    if (ngx_pfree(c->pool, c->ssl->buf->start) == NGX_OK) {
-        c->ssl->buf->start = NULL;
+    if (c->ssl->buf && c->ssl->buf->start) {
+        if (ngx_pfree(c->pool, c->ssl->buf->start) == NGX_OK) {
+            c->ssl->buf->start = 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.6.23';
+our $VERSION = '0.6.24';
 
 require XSLoader;
 XSLoader::load('nginx', $VERSION);