From 1c002a5b5d29532b8c12097ad717c676a3285f28 Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Wed, 28 Jul 2010 12:00:37 -0500 Subject: [PATCH] salvage: Zero corrupted header In the salvager, if we read in a corrupt header (either we get a short read or the magic is mismatched), make sure we zero out the contents, so we don't read garbage further on. Change-Id: Ifb4b9fc1b25d5eab470f0950a1d3bb240f75b0d3 Reviewed-on: http://gerrit.openafs.org/2527 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/vol/vol-salvage.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vol/vol-salvage.c b/src/vol/vol-salvage.c index e273f40..f9c07c8 100644 --- a/src/vol/vol-salvage.c +++ b/src/vol/vol-salvage.c @@ -2377,6 +2377,9 @@ SalvageHeader(register struct stuff *sp, struct InodeSummary *isp, int check, Log("Part of the header (%s) is corrupted; recreating\n", sp->description); recreate = 1; + /* header can be garbage; make sure we don't read garbage data from + * it below */ + memset(&header, 0, sizeof(header)); } if (sp->inodeType == VI_VOLINFO && header.volumeInfo.destroyMe == DESTROY_ME) { -- 1.9.4