Commit Diff


commit - 14bbd1f011c021e9782a09bc125cb57c0ad77846
commit + 85a703fa1fd231d11a83435570dc81a1d19bbb26
blob - 827635172297ba1c08d85c6c7e6d1ce7a2fcc7bb
blob + f1f765496a3cb58ce2edb012f83014034770c8fe
--- lib/got_lib_pack.h
+++ lib/got_lib_pack.h
@@ -164,7 +164,7 @@ int got_packidx_get_object_idx(struct got_packidx *, s
 
 const struct got_error *got_packfile_open_object(struct got_object **,
     struct got_pack *, struct got_packidx *, int, struct got_object_id *);
-const struct got_error *got_pack_get_object_size(uint64_t *,
+const struct got_error *got_pack_get_max_delta_object_size(uint64_t *,
     struct got_object *);
 const struct got_error *got_packfile_extract_object(struct got_pack *,
     struct got_object *, FILE *, FILE *, FILE *);
blob - 9a2d1c22cb22cb80e0474babc8eb35cd717132e2
blob + b0b1b6fec0bcd85a17f64d4e3a58f7a46532a134
--- lib/pack.c
+++ lib/pack.c
@@ -987,8 +987,11 @@ get_delta_chain_max_size(uint64_t *max_size, struct go
 }
 
 const struct got_error *
-got_pack_get_object_size(uint64_t *size, struct got_object *obj)
+got_pack_get_max_delta_object_size(uint64_t *size, struct got_object *obj)
 {
+	if ((obj->flags & GOT_OBJ_FLAG_DELTIFIED) == 0)
+		return got_error(GOT_ERR_OBJ_TYPE);
+
 	return get_delta_chain_max_size(size, &obj->deltas);
 }
 
blob - 1d422ec4629d227ba9bd55fb9a302f3ac9ef4c27
blob + ba5d0a5d8137863074a0adb125aa40b07cf12f00
--- libexec/got-read-pack/got-read-pack.c
+++ libexec/got-read-pack/got-read-pack.c
@@ -246,7 +246,7 @@ blob_request(struct imsg *imsg, struct imsgbuf *ibuf, 
 		goto done;
 
 	if (obj->flags & GOT_OBJ_FLAG_DELTIFIED) {
-		err = got_pack_get_object_size(&blob_size, obj);
+		err = got_pack_get_max_delta_object_size(&blob_size, obj);
 		if (err)
 			goto done;
 	} else