Bug #14046: segfaults due to curlopt not checking file handles are valid
| From: | alan_k at hklc dot com | Date: | Wed, 14 Nov 2001 02:20:07 +0000 |
| Subject: | Bug #14046: segfaults due to curlopt not checking file handles are valid | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-70398@lists.php.net to get a copy of this message | ||
From: alan_k@hklc.com
Operating system: debian linux
PHP version: 4.0CVS-2001-11-13
PHP Bug Type: cURL related
Bug description: segfaults due to curlopt not checking file handles are valid
curlopt does not check that file handles are valid - so if you send it a
string for CURL_INFILE it will segfault.
patch below
Index: curl.c
===================================================================
RCS file: /repository/php4/ext/curl/curl.c,v
retrieving revision 1.97
diff -u -r1.97 curl.c
--- curl.c 13 Nov 2001 11:47:52 -0000 1.97
+++ curl.c 14 Nov 2001 02:16:47 -0000
@@ -706,8 +706,13 @@
case CURLOPT_INFILE:
case CURLOPT_WRITEHEADER:
case CURLOPT_STDERR: {
- FILE *fp;
+ FILE *fp=NULL;
ZEND_FETCH_RESOURCE(fp, FILE *, zvalue, -1, "File-Handle",
php_file_le_fopen());
+ if (!fp) {
+ php_error(E_WARNING, "You must pass a file
handle with the CURLOPT_FILE,"
+ "CURLOPT_INFILE,
CURLOPT_WRITEHEADER and CURLOPT_STDERR arguments");
+ RETURN_FALSE;
+ }
error = CURLE_OK;
switch (option) {
--
Edit bug report at: http://bugs.php.net/?id=14046&edit=1