diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2021-09-17 12:36:13 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2021-09-17 12:57:14 -0700 |
commit | 7958eb97e6ca2aca66c2d5a45b7e803f31646e4e (patch) | |
tree | b0a09994a0715afb2924882ebd7c1cc9401e2aa8 | |
parent | 66262c10d10c173519d423341ec0f4839240b1aa (diff) | |
download | tar-7958eb97e6ca2aca66c2d5a45b7e803f31646e4e.tar.gz |
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.
-rw-r--r-- | src/incremen.c | 10 |
1 files changed, 5 insertions, 5 deletions
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; } |