Avoid integer overflow.
Coverity CID 1295382.
diff --git a/regress/source_hole.c b/regress/source_hole.c
index 8cf522b..d3e6bce 100644
--- a/regress/source_hole.c
+++ b/regress/source_hole.c
@@ -228,7 +228,8 @@
buffer->size = get_u64(b+12);
buffer->nfragments = (buffer->size + buffer->fragment_size - 1) / buffer->fragment_size;
- if ((buffer->fragment = (zip_uint8_t **)malloc(sizeof(buffer->fragment[0]) * buffer->nfragments)) == NULL) {
+ if ((buffer->nfragments > SIZE_MAX/sizeof(buffer->fragment[0]))
+ || ((buffer->fragment = (zip_uint8_t **)malloc(sizeof(buffer->fragment[0]) * buffer->nfragments)) == NULL)) {
zip_error_set(error, ZIP_ER_MEMORY, 0);
return -1;
}