|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2001-11-14 02:25 UTC] derick@php.net
[2001-11-20 05:59 UTC] sterling@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 03:00:02 2025 UTC |
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) {