From 8e016fad91221f108ef11df65516db98173ec34e Mon Sep 17 00:00:00 2001 From: FRIGN Date: Mon, 16 Feb 2015 20:01:33 +0100 Subject: [PATCH] Make the tar(1)-header fixed again This is clearer. --- tar.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tar.c b/tar.c index 43fe80b..74146ef 100644 --- a/tar.c +++ b/tar.c @@ -21,8 +21,8 @@ struct header { char chksum[8]; char type; char link[100]; - char *magic; - char *version; + char magic[6]; + char version[2]; char uname[32]; char gname[32]; char major[8]; @@ -111,8 +111,8 @@ archive(const char* path) putoctal(h->gid, (unsigned)st.st_gid, sizeof(h->gid)); putoctal(h->size, 0, sizeof(h->size)); putoctal(h->mtime, (unsigned)st.st_mtime, sizeof(h->mtime)); - h->magic = "ustar"; - h->version = "00"; + memcpy(h->magic, "ustar", sizeof(h->magic)); + memcpy(h->version, "00", sizeof(h->version)); snprintf(h->uname, sizeof h->uname, "%s", pw ? pw->pw_name : ""); snprintf(h->gname, sizeof h->gname, "%s", gr ? gr->gr_name : "");