From 4f14ee67fb8c4860e2eec2291e922a52ffc93f47 Mon Sep 17 00:00:00 2001 From: Moriyoshi Koizumi Date: Thu, 4 Dec 2003 23:46:53 +0000 Subject: [PATCH] Type-punning is evil. --- ext/iconv/iconv.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c index b3a5740cfd..9cc55bbe60 100644 --- a/ext/iconv/iconv.c +++ b/ext/iconv/iconv.c @@ -985,6 +985,7 @@ static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char *fn size_t ini_in_left; const char *ini_in_p; size_t out_reserved = 4; + int dummy; smart_str_appendc(pretval, 'B'); char_cnt--; @@ -1066,7 +1067,9 @@ static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char *fn prev_in_left = in_left; - encoded = php_base64_encode(buf, (int)(out_size - out_left), &encoded_len); + encoded = php_base64_encode(buf, (int)(out_size - out_left), &dummy); + encoded_len = (size_t)dummy; + if (char_cnt < encoded_len) { /* something went wrong! */ err = PHP_ICONV_ERR_UNKNOWN; @@ -1480,10 +1483,12 @@ static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char *st case '\r': case '\n': case ' ': case '\t': { char *decoded_text; size_t decoded_text_len; + int dummy; switch (enc_scheme) { case PHP_ICONV_ENC_SCHEME_BASE64: - decoded_text = (char *)php_base64_decode((unsigned char*)encoded_text, (int)encoded_text_len, &decoded_text_len); + decoded_text = (char *)php_base64_decode((unsigned char*)encoded_text, (int)encoded_text_len, &dummy); + decoded_text_len = (size_t)dummy; break; case PHP_ICONV_ENC_SCHEME_QPRINT: -- 2.50.1