Re: [PATCH 3/4] builtin-fast-export.c: fix crash on tagged trees
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 23, 2009, 00:39 UTC
- Message-ID
- <7vab7d9in4.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <1237758620-6116-3-git-send-email-kusmabite@gmail.com>
Erik Faye-Lund <kusmabite@gmail.com> writes:
Show 18 quoted lines
> If a tag object points to a tree (or another unhandled type), the commit- > pointer is left uninitialized and later dereferenced. This patch adds a default > case to the switch that issues a warning and skips the object. > > Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> > --- > builtin-fast-export.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/builtin-fast-export.c b/builtin-fast-export.c > index 02bad1f..c3ce320 100644 > --- a/builtin-fast-export.c > +++ b/builtin-fast-export.c > @@ -375,6 +375,10 @@ static void get_tags_and_duplicates(struct object_array *pending, > case OBJ_BLOB: > handle_object(tag->object.sha1); > continue; > + default: /* OBJ_TAG (nested tags) is already handled */
The comment is good but only if you make this the last patch that comes after the one that actually fixes the tag-to-tag (currently 4/4), no?
Show 8 quoted lines
> + warning("Tag points to object of unexpected type %s, skipping.",
> + typename(tag->object.type));
> + continue;
> }
> break;
> default:
> --
> 1.6.2.1.226.gcb2dd