]> granicus.if.org Git - php/commitdiff
never smash the stack...
authorStefan Esser <sesser@php.net>
Mon, 7 Oct 2002 16:11:30 +0000 (16:11 +0000)
committerStefan Esser <sesser@php.net>
Mon, 7 Oct 2002 16:11:30 +0000 (16:11 +0000)
ext/mbstring/mbfilter.c

index 01a59e28f5d798bcb29f2c0b51fd3ac5a1cb26af..918e4551246394e2795f744573bee4a68dc06087 100644 (file)
@@ -3535,6 +3535,7 @@ mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter TSRMLS_DC)
 {
        int tmp[10];
        int i = 0, p = 0, e;
+       unsigned int uc;
 
        if (c<256 && mblen_table_html[c]==1) {
                CK((*filter->output_function)(c, filter->data TSRMLS_CC));
@@ -3554,15 +3555,17 @@ mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter TSRMLS_DC)
                        }
                        i++;
                }
+               i=0;
                if (!p) {
                        CK((*filter->output_function)('#', filter->data TSRMLS_CC));
+                       uc = (unsigned int)c;
                        do {
-                               tmp[i++] = '0'+c%10;
-                               c /= 10;
-                       } while (c);
+                               tmp[i++] = '0'+uc%10;
+                               uc /= 10;
+                       } while (uc);
                        do {
                                CK((*filter->output_function)(tmp[--i], filter->data TSRMLS_CC));
-                       } while(i);
+                       } while (i);
                }
                CK((*filter->output_function)(';', filter->data TSRMLS_CC));
        }