sniper          Fri Feb 16 06:31:37 2001 EDT

  Modified files:              
    /php4/ext/curl      curl.c 
  Log:
  Fixed a typo in constant definitions and a possible crash in curl_setopt().
  # pr: #9181
  
  
Index: php4/ext/curl/curl.c
diff -u php4/ext/curl/curl.c:1.36 php4/ext/curl/curl.c:1.37
--- php4/ext/curl/curl.c:1.36   Thu Feb 15 08:20:12 2001
+++ php4/ext/curl/curl.c        Fri Feb 16 06:31:37 2001
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: curl.c,v 1.36 2001/02/15 16:20:12 sterling Exp $ */
+/* $Id: curl.c,v 1.37 2001/02/16 14:31:37 sniper Exp $ */
 
 
 #include "php.h"
@@ -140,7 +140,7 @@
        REGISTER_LONG_CONSTANT("CURLOPT_PROXY", CURLOPT_PROXY, CONST_CS | 
CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CURLOPT_VERBOSE", CURLOPT_VERBOSE, CONST_CS | 
CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CURLOPT_HEADER", CURLOPT_HEADER, CONST_CS | 
CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("CURLOPT_HTTPHEADER", CURLOPT_HEADER, CONST_CS | 
CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("CURLOPT_HTTPHEADER", CURLOPT_HTTPHEADER, CONST_CS | 
+CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CURLOPT_NOPROGRESS", CURLOPT_NOPROGRESS, CONST_CS | 
CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CURLOPT_NOBODY", CURLOPT_NOBODY, CONST_CS | 
CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CURLOPT_FAILONERROR", CURLOPT_FAILONERROR, CONST_CS | 
CONST_PERSISTENT);
@@ -381,7 +381,9 @@
                        }
                        break;
                        
-               case CURLOPT_FILE:   case CURLOPT_INFILE: case CURLOPT_WRITEHEADER:
+               case CURLOPT_FILE:   
+               case CURLOPT_INFILE: 
+               case CURLOPT_WRITEHEADER:
                case CURLOPT_STDERR: 
 
                        {
@@ -412,6 +414,7 @@
                                
                                zval **current;
                                HashTable *u_post = HASH_OF(*curl_value);
+
                                struct HttpPost *first = NULL, 
                                                *last  = NULL;
                                
@@ -481,11 +484,12 @@
                                HashTable *headers = HASH_OF(*curl_value);
                                struct curl_slist *header = NULL;
                                
-                               header = (struct curl_slist *)emalloc(sizeof(struct 
curl_slist));
-                               if (!header) {
-                                       php_error(E_WARNING, "Couldn't allocate header 
list from %s()", get_active_function_name());
+                               if (!headers) {
                                        RETURN_FALSE;
                                }
+                               
+                               header = (struct curl_slist *)emalloc(sizeof(struct 
+curl_slist));
+                                       
                                memset(header, 0, sizeof(struct curl_slist));
                                
                                for (zend_hash_internal_pointer_reset(headers);
@@ -518,6 +522,10 @@
                                HashTable *php_commands = HASH_OF(*curl_value);
                                struct curl_slist *commands = NULL;
                                
+                               if (!php_commands) {
+                                       RETURN_FALSE;
+                               }
+
                                commands = (struct curl_slist *)emalloc(sizeof(struct 
curl_slist));
                                if (!commands) {
                                        php_error(E_WARNING, "Couldn't allocate 
command list from %s()", get_active_function_name());



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to