Commit Diff


commit - 5ba3f0ff81d32a78a1ba9d28b017049cad05247e
commit + 30d415a5040946f62a5e9e8c6bf6ccf7f5509541
blob - 52df19613c4b669fa21213a1bf67793ec0d0c27e
blob + 80b3a23a972cff84ee9fa8845cef55a934659e03
--- lib/pack.c
+++ lib/pack.c
@@ -1778,8 +1778,10 @@ read_raw_delta_data(uint8_t **delta_buf, size_t *delta
 		goto done;
 	}
 	if (pack->map) {
-		if (delta_data_offset >= pack->filesize)
+		if (delta_data_offset >= pack->filesize) {
 			err = got_error(GOT_ERR_PACK_OFFSET);
+			goto done;
+		}
 		memcpy(*delta_buf, pack->map + delta_data_offset,
 		    *delta_len_compressed);
 	} else {