From 35802ae44c369a224df30162dc1b3eeeec4dd7d4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Pinard?= Date: Wed, 16 Nov 1994 02:56:01 +0000 Subject: [PATCH] *** empty log message *** --- src/list.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/list.c b/src/list.c index c1b2f84..c26c883 100644 --- a/src/list.c +++ b/src/list.c @@ -297,6 +297,7 @@ read_header() char *bp, *data; int size, written; static char *next_long_name, *next_long_link; + char *name; recurse: @@ -376,12 +377,22 @@ read_header() } else { - current_file_name = (next_long_name - ? next_long_name - : header->header.arch_name); - current_link_name = (next_long_link - ? next_long_link - : header->header.arch_linkname); + name = (next_long_name + ? next_long_name + : head->header.arch_name); + if (current_file_name) + free (current_file_name); + current_file_name = malloc (strlen (name) + 1); + strcpy (current_file_name, name); + + name = (next_long_link + ? next_long_link + : head->header.arch_linkname); + if (current_link_name) + free (current_link_name); + current_link_name = malloc (strlen (name) + 1); + strcpy (current_link_name, name); + next_long_link = next_long_name = 0; return 1; } -- 2.44.0