From: Paul Eggert Date: Fri, 22 Jan 2010 18:39:59 +0000 (-0800) Subject: regexec.c: simplify re_search_2_stub X-Git-Tag: glibc-2.12~226 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d044d844dd011bb26317ac36da2d22ebe19621b1;p=platform%2Fupstream%2Fglibc.git regexec.c: simplify re_search_2_stub --- diff --git a/ChangeLog b/ChangeLog index 14e3199..c4fb74f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-01-22 Jim Meyering + + [BZ #11187] + * posix/regexec.c (re_search_2_stub): Use simpler method than + boolean for freeing internal storage. + 2010-01-22 Ulrich Drepper * posix/regex_internal.c (re_string_skip_chars): Simplify test for diff --git a/posix/regexec.c b/posix/regexec.c index b8db740..c7d0b37 100644 --- a/posix/regexec.c +++ b/posix/regexec.c @@ -368,7 +368,7 @@ re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs, const char *str; int rval; int len = length1 + length2; - int free_str = 0; + char *s = NULL; if (BE (length1 < 0 || length2 < 0 || stop < 0, 0)) return -2; @@ -377,7 +377,7 @@ re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs, if (length2 > 0) if (length1 > 0) { - char *s = re_malloc (char, len); + s = re_malloc (char, len); if (BE (s == NULL, 0)) return -2; @@ -388,17 +388,14 @@ re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs, memcpy (s + length1, string2, length2); #endif str = s; - free_str = 1; } else str = string2; else str = string1; - rval = re_search_stub (bufp, str, len, start, range, stop, regs, - ret_len); - if (free_str) - re_free ((char *) str); + rval = re_search_stub (bufp, str, len, start, range, stop, regs, ret_len); + re_free (s); return rval; }