summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2021-09-17 12:36:13 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2021-09-17 12:57:14 -0700
commit7958eb97e6ca2aca66c2d5a45b7e803f31646e4e (patch)
treeb0a09994a0715afb2924882ebd7c1cc9401e2aa8
parent66262c10d10c173519d423341ec0f4839240b1aa (diff)
downloadtar-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.c10
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;
}