summaryrefslogtreecommitdiff
path: root/dpkg-split
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2018-10-08 02:46:26 +0200
committerGuillem Jover <guillem@debian.org>2018-10-08 11:46:37 +0200
commita0f59e04b299e67e700f6cc491aab45472814a2c (patch)
tree84331a7e3f2772b1652ece3c6e11a2ae594f6e52 /dpkg-split
parent76b05dce1342834fec1b3d9b6ff3fc33a33c1fb2 (diff)
downloaddpkg-a0f59e04b299e67e700f6cc491aab45472814a2c.tar.gz
dpkg-split: Use nfstrnsave() instead of nfmalloc() + memcpy()
Diffstat (limited to 'dpkg-split')
-rw-r--r--dpkg-split/queue.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/dpkg-split/queue.c b/dpkg-split/queue.c
index 8ea2a30b4..1ef083ea5 100644
--- a/dpkg-split/queue.c
+++ b/dpkg-split/queue.c
@@ -62,23 +62,25 @@ decompose_filename(const char *filename, struct partqueue *pq)
if (strspn(filename, "0123456789abcdef") != MD5HASHLEN ||
filename[MD5HASHLEN] != '.')
return false;
- q = nfmalloc(MD5HASHLEN + 1);
- memcpy(q, filename, MD5HASHLEN);
- q[MD5HASHLEN] = '\0';
- pq->info.md5sum= q;
+
+ pq->info.md5sum = nfstrnsave(filename, MD5HASHLEN);
+
p = filename + MD5HASHLEN + 1;
errno = 0;
pq->info.maxpartlen = strtoimax(p, &q, 16);
if (q == p || *q++ != '.' || errno != 0)
return false;
+
p = q;
pq->info.thispartn = (int)strtol(p, &q, 16);
if (q == p || *q++ != '.' || errno != 0)
return false;
+
p = q;
pq->info.maxpartn = (int)strtol(p, &q, 16);
if (q == p || *q || errno != 0)
return false;
+
return true;
}