Fixed crash on failed HTTP request.
authorshort <>
Wed, 17 Sep 2003 08:13:48 +0000 (08:13 +0000)
committershort <>
Wed, 17 Sep 2003 08:13:48 +0000 (08:13 +0000)
modules/http-method.c

index cc40202..c9de671 100644 (file)
@@ -1516,6 +1516,7 @@ make_request (HttpFileHandle *handle,
        gboolean proxy_connect;
        char *authn_header_request;
        char *authn_header_proxy;
+       gboolean handle_valid = FALSE;
 
        g_return_val_if_fail (handle != NULL, GNOME_VFS_ERROR_INTERNAL);
 
@@ -1596,6 +1597,7 @@ make_request (HttpFileHandle *handle,
 
                /* Read the headers and create our internal HTTP file handle.  */
                result = create_handle (uri, socket_buffer, context, handle);
+               handle_valid = TRUE;
 
                if (result == GNOME_VFS_OK) {
                        socket_buffer = NULL;
@@ -1613,15 +1615,15 @@ make_request (HttpFileHandle *handle,
                        break;
                }
                http_file_handle_destroy (handle);
-               handle = NULL;
+               handle_valid = FALSE;
        }
 
        g_free (authn_header_request);
        g_free (authn_header_proxy);
 
-       if (result != GNOME_VFS_OK && handle != NULL) {
+       if (result != GNOME_VFS_OK && handle_valid) {
                http_file_handle_destroy (handle);
-               handle = NULL;
+               handle_valid = FALSE;
        }
 
        if (request != NULL) {