Fix another integer overflow.
Second try at fixing Coverity CID 1295382.
diff --git a/regress/source_hole.c b/regress/source_hole.c
index 4f06330..5ffa75e 100644
--- a/regress/source_hole.c
+++ b/regress/source_hole.c
@@ -227,7 +227,11 @@
     
     buffer->fragment_size = get_u64(b+4);
     buffer->size = get_u64(b+12);
-    
+
+    if (buffer->size + buffer->fragment_size < buffer->size) {
+        zip_error_set(error, ZIP_ER_MEMORY, 0);
+	return -1;
+    }
     buffer->nfragments = (buffer->size + buffer->fragment_size - 1) / buffer->fragment_size;
     if ((buffer->nfragments > SIZE_MAX/sizeof(buffer->fragment[0]))
 	|| ((buffer->fragment = (zip_uint8_t **)malloc(sizeof(buffer->fragment[0]) * buffer->nfragments)) == NULL)) {