From: Moriyoshi Koizumi Date: Fri, 4 Apr 2003 09:06:23 +0000 (+0000) Subject: Added missing sanity check, which was causing segfault. X-Git-Tag: RELEASE_0_5~140 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d1b82409c3370b639b71687ebcc429c49b0e23b2;p=php Added missing sanity check, which was causing segfault. --- diff --git a/ext/mbstring/mbfilter.c b/ext/mbstring/mbfilter.c index 37a5a9c008..a9e441f655 100644 --- a/ext/mbstring/mbfilter.c +++ b/ext/mbstring/mbfilter.c @@ -8139,6 +8139,13 @@ mbfl_strcut( result->no_language = string->no_language; result->no_encoding = string->no_encoding; + if (from > (int)string->len) { + result->len = 0; + result->val = mbfl_malloc(1); + result->val[0] = '\0'; + return result; + } + if ((encoding->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE | MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) || encoding->mblen_table != NULL) { len = string->len;