From: Paul Eggert Date: Wed, 29 Aug 2001 21:37:27 +0000 (+0000) Subject: (dump_file): Relativize link names before dumping. X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;ds=sidebyside;h=eb5c8f4b8b84e341eec47833ccc9401b9293a0cf;p=chaz%2Ftar (dump_file): Relativize link names before dumping. This fixes a bug reported by Jose Pedro Oliveira. (dump_file): Use offsetof when computing sizes for struct hack; this avoids wasted space in some cases. --- diff --git a/src/create.c b/src/create.c index 98b1639..b3de6a8 100644 --- a/src/create.c +++ b/src/create.c @@ -1139,7 +1139,8 @@ dump_file (char *p, int top_level, dev_t parent_device) if (1 < current_stat.st_nlink) { static Hash_table *link_table; - struct link *lp = xmalloc (sizeof *lp + strlen (p)); + struct link *lp = xmalloc (offsetof (struct link, name) + + strlen (p) + 1); struct link *dup; lp->ino = current_stat.st_ino; lp->dev = current_stat.st_dev; @@ -1154,7 +1155,7 @@ dump_file (char *p, int top_level, dev_t parent_device) if (dup != lp) { /* We found a link. */ - char const *link_name = dup->name; + char const *link_name = relativize (dup->name); free (lp);