summaryrefslogtreecommitdiff
path: root/libarchive/archive_read.c
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2017-04-29 18:53:17 +0200
committerJoerg Sonnenberger <joerg@bec.de>2017-04-29 18:53:17 +0200
commit48f36b5c45acbc4a4a04bb606b87121199077a17 (patch)
tree7387ff5004ac8b378f999d2a8d4f327920de91e1 /libarchive/archive_read.c
parentdc7ce6cbb30e5e489743bda22b9be83a44e78c05 (diff)
downloadlibarchive-48f36b5c45acbc4a4a04bb606b87121199077a17.tar.gz
Avoid memcpy if length is zero, the source can be NULL in this case.
Diffstat (limited to 'libarchive/archive_read.c')
-rw-r--r--libarchive/archive_read.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c
index d1fecebf..a642a336 100644
--- a/libarchive/archive_read.c
+++ b/libarchive/archive_read.c
@@ -881,7 +881,8 @@ archive_read_data(struct archive *_a, void *buff, size_t s)
len = a->read_data_remaining;
if (len > s)
len = s;
- memcpy(dest, a->read_data_block, len);
+ if (len)
+ memcpy(dest, a->read_data_block, len);
s -= len;
a->read_data_block += len;
a->read_data_remaining -= len;