Bug #17963 Updated: multipart/form-data post error

From: Date: Thu, 27 Jun 2002 15:03:47 +0000
Subject: Bug #17963 Updated: multipart/form-data post error
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-12250@lists.php.net to get a copy of this message
ID: 17963 Updated by: per_hekansson@hermes.ics.lu.se Reported By: nvqtq@naver.com Status: Open Bug Type: cURL related Operating System: all PHP Version: 4.2.1 New Comment: That seems to do the trick. I would love somebody to put it in the next binary. The home compilation was a bit to messy to be enjoyable. /Per Previous Comments: ------------------------------------------------------------------------ [2002-06-26 04:23:36] daniel@haxx.se Allow me to offer my wild assumptions and guesses, as posted previously to the curl-and-php mailing list: (http://curl.haxx.se/mail/curlphp-2002-06/0035.html) Could it be that the string isn't properly zero terminated when the PHP/CURL module extracts the PHP string using zend_hash_get_current_key_ex(postfields, &string_key, &string_key_len, &num_key, 0, NULL); followed by error = curl_formadd(&first, &last, CURLFORM_COPYNAME, string_key, CURLFORM_PTRCONTENTS, postval, CURLFORM_CONTENTSLENGTH, Z_STRLEN_PP(current), CURLFORM_END); The CURLFORM_COPYNAME option requires a zero terminated string, which this 'string_key' perhaps isn't? You could try to add CURLFORM_NAMELENGTH, string_key_len, Which then would take away the need for the zero termination. I'm not a PHP hacker. ------------------------------------------------------------------------ [2002-06-25 10:06:08] nvqtq@naver.com 1 ------------------------------------------------------------------------ [2002-06-25 04:32:53] nvqtq@naver.com Hello. Why is the result of this program like the this? What there is the fault. Probably there are we like the bug. The postingfieldname does not know why we are changed in this way. Inform the invalid sounding-line please. ------------------------------------------------------------------------------- ------------------------------ php source -------------------------------- <? $post['mode'] = 'result'; $post['val1'] = 'value1'; $post['val2'] = 'value2'; $post['val3'] = 'value3'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://test.com/test.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 1 ); curl_setopt($ch, CURLOPT_VERBOSE, 1 ); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"); curl_setopt($ch, CURLOPT_POSTFIELDS, $post ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); echo "$result"; curl_close($ch); ?> ------------------------------------------------------------------------------- ------------------ network snipping result ----------------------------- POST /test.php HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) Host: test.com Pragma: no-cache Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Content-Length: 417 Expect: 100-continue Content-Type: multipart/form-data; boundary=curlgyo1xC0h80m1EP5OD3RQcSQqRqk --curlgyo1xC0h80m1EP5OD3RQcSQqRqk Content-Disposition: form-data; name="modeýýýý1" //<!---The postingfieldname does not know why we are changed in this way.--> result --curlgyo1xC0h80m1EP5OD3RQcSQqRqk Content-Disposition: form-data; name="val1ýýýý1" //<!---The postingfieldname does not know why we are changed in this way.--> value1 --curlgyo1xC0h80m1EP5OD3RQcSQqRqk Content-Disposition: form-data; name="val2ýýýý1" //<!---The postingfieldname does not know why we are changed in this way.--> value2 --curlgyo1xC0h80m1EP5OD3RQcSQqRqk Content-Disposition: form-data; name="val3ýýýý1" //<!---The postingfieldname does not know why we are changed in this way.--> value3 --curlgyo1xC0h80m1EP5OD3RQcSQqRqk-- ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=17963&edit=1

« previous php.bugs (#12250) next »