Commit Diff


commit - b5d22c386422ab4e29e05d887089fae7e446e40b
commit + 538b6881e138e4c1312a50dd16acec14fb6af7bc
blob - 585486aa9bd3b5620681a9e4ccad89befbbaf36b
blob + 46a800f76b25f65ad5bab982804a1d510abb2792
--- lib/worktree.c
+++ lib/worktree.c
@@ -1270,6 +1270,9 @@ install_symlink(int *is_bad_symlink, struct got_worktr
 	 */
 	do {
 		err = got_object_blob_read_block(&len, blob);
+		if (err)
+			return err;
+
 		if (len + target_len >= sizeof(target_path)) {
 			/* Path too long; install as a regular file. */
 			*is_bad_symlink = 1;