threads / patch / 16390

patchFix handle leak in sha1_file/unpack_objects if there were damaged object data

Subject: [PATCH] Fix handle leak in sha1_file/unpack_objects if there were damaged object data

## tl;dr

2 messages between Nov 19, 2008 and Nov 19, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Alex Riesen· Nov 19, 2008, 11:14 UTC · lore

In the case of bad packed object CRC, unuse_pack wasn't called after check_pack_crc which calls use_pack.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 sha1_file.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
From 3b4c13ddeebe4bc54a3f9ab9bd26909cc5e1eff3 Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Wed, 19 Nov 2008 11:17:13 +0100
Subject: [PATCH] Fix handle leak in sha1_file/unpack_objects if there were damaged object data

In the case of bad packed object CRC, unuse_pack wasn't called after check_pack_crc which calls use_pack.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 sha1_file.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Show changes to sha1_file.c +1 −0
diff --git a/sha1_file.c b/sha1_file.c
index 75a748a..0106e2c 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1749,6 +1749,7 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset,
 			error("bad packed object CRC for %s",
 			      sha1_to_hex(sha1));
 			mark_bad_packed_object(p, sha1);
+			unuse_pack(&w_curs);
 			return NULL;
 		}
 	}
-- 
1.6.0.4.644.gb619a
Nicolas Pitre· Nov 19, 2008, 12:49 UTC · re: Alex Riesen · lore

Re: [PATCH] Fix handle leak in sha1_file/unpack_objects if there were damaged object data

On Wed, 19 Nov 2008, Alex Riesen wrote:
> In the case of bad packed object CRC, unuse_pack wasn't called after
> check_pack_crc which calls use_pack.
> 
> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Acked-by: Nicolas Pitre <nico@cam.org>
> ---
>  sha1_file.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
Nicolas

← back to recent threads