git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] builtin-fast-export.c: add default case to avoid crash on corrupt repo
@ 2009-03-21 22:37 Erik Faye-Lund
  2009-03-21 23:54 ` Junio C Hamano
  0 siblings, 1 reply; 6+ messages in thread
From: Erik Faye-Lund @ 2009-03-21 22:37 UTC (permalink / raw)
  To: git; +Cc: Erik Faye-Lund

This small issue was discovered by Benjamin Kramers Clang-runs on the git
code-base. If a tag object points to an object that is not a commit or a blob,
an invalid pointer is dereferenced in the code that followed.

This patch fixes this issue, by giving an error instead. This should also be
more useful when debugging corrupted repos.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
---
 builtin-fast-export.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/builtin-fast-export.c b/builtin-fast-export.c
index fdf4ae9..26b2a93 100644
--- a/builtin-fast-export.c
+++ b/builtin-fast-export.c
@@ -375,6 +375,9 @@ static void get_tags_and_duplicates(struct object_array *pending,
 			case OBJ_BLOB:
 				handle_object(tag->object.sha1);
 				continue;
+			default:
+				die ("Unexpected object of type %s",
+				     typename(tag->object.type));
 			}
 			break;
 		default:
-- 
1.6.2.1.215.gf786.dirty

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-03-23  0:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-21 22:37 [PATCH] builtin-fast-export.c: add default case to avoid crash on corrupt repo Erik Faye-Lund
2009-03-21 23:54 ` Junio C Hamano
2009-03-22 12:22   ` Erik Faye-Lund
2009-03-22 12:32     ` Erik Faye-Lund
2009-03-22 21:58     ` Junio C Hamano
2009-03-23  0:26   ` Shawn O. Pearce

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).