]> granicus.if.org Git - apache/commitdiff
Fixed a potential NULL pointer deference.
authorGuenter Knauf <fuankg@apache.org>
Thu, 7 Feb 2013 15:35:31 +0000 (15:35 +0000)
committerGuenter Knauf <fuankg@apache.org>
Thu, 7 Feb 2013 15:35:31 +0000 (15:35 +0000)
This was brought up on dev list by Christophe Jaillet.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1443558 13f79535-47bb-0310-9956-ffa450edef68

modules/arch/netware/mod_nw_ssl.c

index 652bc6296756245917cb6bacebbf86aed5eb56a2..a6e15e7f0c86e8c737b225e1ea7c66e94197ff53 100644 (file)
@@ -1165,6 +1165,14 @@ static apr_status_t ssl_io_filter_Upgrade(ap_filter_t *f,
      */
     ap_remove_output_filter(f);
 
+    if (!r) {
+        /*
+        ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, APLOGNO(02131)
+                     "Unable to get upgradeable socket handle");
+        */
+        return ap_pass_brigade(f->next, bb);
+    }
+
     /* No need to ensure that this is a server with optional SSL, the filter
      * is only inserted if that is true.
      */
@@ -1178,15 +1186,8 @@ static apr_status_t ssl_io_filter_Upgrade(ap_filter_t *f,
 
     apr_table_unset(r->headers_out, "Upgrade");
 
-    if (r) {
-        csd_data = (secsocket_data*)ap_get_module_config(r->connection->conn_config, &nwssl_module);
-        csd = csd_data->csd;
-    }
-    else {
-        ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, APLOGNO(02131)
-                     "Unable to get upgradeable socket handle");
-        return ap_pass_brigade(f->next, bb);
-    }
+    csd_data = (secsocket_data*)ap_get_module_config(r->connection->conn_config, &nwssl_module);
+    csd = csd_data->csd;
 
     /* Send the interim 101 response. */
     upgradebb = apr_brigade_create(r->pool, f->c->bucket_alloc);