summaryrefslogtreecommitdiff
path: root/ext/zip/lib/zip_memdup.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/zip/lib/zip_memdup.c')
-rw-r--r--ext/zip/lib/zip_memdup.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/zip/lib/zip_memdup.c b/ext/zip/lib/zip_memdup.c
index 641125ed2d..06af2dabd3 100644
--- a/ext/zip/lib/zip_memdup.c
+++ b/ext/zip/lib/zip_memdup.c
@@ -1,6 +1,6 @@
/*
zip_memdup.c -- internal zip function, "strdup" with len
- Copyright (C) 1999-2007 Dieter Baron and Thomas Klausner
+ Copyright (C) 1999-2012 Dieter Baron and Thomas Klausner
This file is part of libzip, a library to manipulate ZIP archives.
The authors can be contacted at <libzip@nih.at>
@@ -43,6 +43,9 @@ _zip_memdup(const void *mem, size_t len, struct zip_error *error)
{
void *ret;
+ if (len == 0)
+ return NULL;
+
ret = malloc(len);
if (!ret) {
_zip_error_set(error, ZIP_ER_MEMORY, 0);