diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2017-04-29 18:53:17 +0200 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2017-04-29 18:53:17 +0200 |
commit | 48f36b5c45acbc4a4a04bb606b87121199077a17 (patch) | |
tree | 7387ff5004ac8b378f999d2a8d4f327920de91e1 /libarchive/archive_read.c | |
parent | dc7ce6cbb30e5e489743bda22b9be83a44e78c05 (diff) | |
download | libarchive-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.c | 3 |
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; |