From: Paul Eggert Date: Fri, 17 Sep 2021 19:36:13 +0000 (-0700) Subject: Fix null rereference if low-memory X-Git-Tag: v1.35~99 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7958eb97e6ca2aca66c2d5a45b7e803f31646e4e;p=thirdparty%2Ftar.git Fix null rereference if low-memory * src/incremen.c (read_incr_db_01): Use xstrdup not strdup. Problem found by gcc -Wanalyzer-possible-null-argument. --- diff --git a/src/incremen.c b/src/incremen.c index 4f909602..c05504be 100644 --- a/src/incremen.c +++ b/src/incremen.c @@ -903,19 +903,19 @@ store_rename (struct directory *dir, struct obstack *stk) else { char *temp_name; - + /* Break the cycle by using a temporary name for one of its elements. First, create a temp name stub entry. */ temp_name = dir_name (dir->name); obstack_1grow (stk, 'X'); obstack_grow (stk, temp_name, strlen (temp_name) + 1); - + obstack_code_rename (stk, dir->name, ""); - + for (p = dir; p != prev; p = p->orig) obstack_code_rename (stk, p->orig->name, p->name); - + obstack_code_rename (stk, "", prev->name); free (temp_name); } @@ -993,7 +993,7 @@ read_incr_db_01 (int version, const char *initbuf) } else { - buf = strdup (initbuf); + buf = xstrdup (initbuf); bufsize = strlen (buf) + 1; }