]> granicus.if.org Git - php/commitdiff
MFB fix #27408
authorArd Biesheuvel <abies@php.net>
Mon, 8 Mar 2004 19:08:25 +0000 (19:08 +0000)
committerArd Biesheuvel <abies@php.net>
Mon, 8 Mar 2004 19:08:25 +0000 (19:08 +0000)
ext/xmlrpc/libxmlrpc/encodings.c

index 8f7d33ea43d6caf7649848e5bd9640f8f47aba2f..f3aebff9c90e2297bfd02dc1e43d6fca9f7d3b69 100644 (file)
@@ -57,11 +57,10 @@ static char* convert(const char* src, int src_len, int *new_len, const char* fro
    char* outbuf = 0;
 
    if(src && src_len && from_enc && to_enc) {
-      int outlenleft = src_len;
+      size_t outlenleft = src_len;
+      size_t inlenleft = src_len;
       int outlen = src_len;
-      int inlenleft = src_len;
       iconv_t ic = iconv_open(to_enc, from_enc);
-      char* src_ptr = (char*)src;
       char* out_ptr = 0;
 
       if(ic != (iconv_t)-1) {
@@ -71,7 +70,7 @@ static char* convert(const char* src, int src_len, int *new_len, const char* fro
          if(outbuf) {
             out_ptr = (char*)outbuf;
             while(inlenleft) {
-               st = iconv(ic, &src_ptr, &inlenleft, &out_ptr, &outlenleft);
+               st = iconv(ic, &src, &inlenleft, &out_ptr, &outlenleft);
                if(st == -1) {
                   if(errno == E2BIG) {
                      int diff = out_ptr - outbuf;