From 2009e4e83bfeb45b050a7dbbf31fddd30f27d744 Mon Sep 17 00:00:00 2001 From: John Coggeshall Date: Fri, 12 Mar 2004 16:08:11 +0000 Subject: [PATCH] Fixed a crash which happens if your READFUNCTION callback doesn't actually return a string as promised. --- ext/curl/interface.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 9bb17beb12..2698a81243 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -500,8 +500,12 @@ static size_t curl_read(char *data, size_t size, size_t nmemb, void *ctx) php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot call the CURLOPT_READFUNCTION"); length = -1; } else { - memcpy(data, Z_STRVAL_P(retval_ptr), size * nmemb); - length = Z_STRLEN_P(retval_ptr); + if(Z_STRVAL_P(retval_ptr)) { + memcpy(data, Z_STRVAL_P(retval_ptr), size * nmemb); + length = Z_STRLEN_P(retval_ptr); + } else { + data = strdup(""); + } } zval_ptr_dtor(argv[0]); -- 2.50.1