summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2013-09-20 21:51:57 +0300
committerTimo Teräs <timo.teras@iki.fi>2013-09-20 21:51:57 +0300
commit73820e4a3e63f9631bc3b25e69743f13c3b4846e (patch)
treeccb49373a44880934cd43328c99b04da75cb032f /src
parentcecb810746113a57ac65236495014fd4aa43982b (diff)
downloadapk-tools-73820e4a3e63f9631bc3b25e69743f13c3b4846e.tar.gz
apk-tools-73820e4a3e63f9631bc3b25e69743f13c3b4846e.tar.bz2
apk-tools-73820e4a3e63f9631bc3b25e69743f13c3b4846e.tar.xz
apk-tools-73820e4a3e63f9631bc3b25e69743f13c3b4846e.zip
archive: fix handling of name lengths of exactly 100 bytes
Diffstat (limited to 'src')
-rw-r--r--src/archive.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/archive.c b/src/archive.c
index 771e548..66b4870 100644
--- a/src/archive.c
+++ b/src/archive.c
@@ -158,6 +158,9 @@ int apk_tar_parse(struct apk_istream *is, apk_archive_entry_parser parser,
};
teis.csum = NULL;
+ buf.mode[0] = 0; /* to nul terminate 100-byte buf.name */
+ buf.magic[0] = 0; /* to nul terminate 100-byte buf.linkname */
+
if (memcmp(di->id, "APK2", 4) == 0 &&
di->size <= sizeof(entry.csum.data)) {
entry.csum.type = di->size;