]> git.ipfire.org Git - thirdparty/tar.git/commitdiff
Fix null rereference if low-memory
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 17 Sep 2021 19:36:13 +0000 (12:36 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 17 Sep 2021 19:57:14 +0000 (12:57 -0700)
* src/incremen.c (read_incr_db_01): Use xstrdup not strdup.
Problem found by gcc -Wanalyzer-possible-null-argument.

src/incremen.c

index 4f9096028be5d5dd5d783ee7b8464413a171438d..c05504be258e97346fe42095e23af72efc9cc234 100644 (file)
@@ -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;
     }