From: Paul Eggert Date: Tue, 30 Jul 2024 15:32:55 +0000 (-0700) Subject: Fix unlikely overflow in transform.c X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91ee466c8ad2edcaa680f124a28949930fb44271;p=thirdparty%2Ftar.git Fix unlikely overflow in transform.c * src/transform.c (_single_transform_name_to_obstack): Use xinmalloc to check for integer overflow. --- diff --git a/src/transform.c b/src/transform.c index 6cb13480..33a0f3cb 100644 --- a/src/transform.c +++ b/src/transform.c @@ -458,7 +458,6 @@ run_case_conv (enum case_ctl_type case_ctl, char *ptr, size_t size) static void _single_transform_name_to_obstack (struct transform *tf, char *input) { - regmatch_t *rmp; int rc; size_t nmatches = 0; enum case_ctl_type case_ctl = ctl_stop, /* Current case conversion op */ @@ -472,7 +471,7 @@ _single_transform_name_to_obstack (struct transform *tf, char *input) save_ctl = ctl_stop; \ } - rmp = xmalloc ((tf->regex.re_nsub + 1) * sizeof (*rmp)); + regmatch_t *rmp = xinmalloc (tf->regex.re_nsub + 1, sizeof *rmp); while (*input) {