vol-salvage: calloc volume summary structs
authorAndrew Deason <adeason@sinenomine.net>
Wed, 2 Mar 2011 20:10:33 +0000 (14:10 -0600)
committerDerrick Brashear <shadow@dementia.org>
Fri, 4 Mar 2011 15:35:53 +0000 (07:35 -0800)
Calloc volume summary structs instead of malloc'ing them, in
vol-salvage.c. This way, new fields added to struct VolumeSummary will
be known to be zeroed by default, without needing to update all of the
allocating callers.

Change-Id: I8c647cd9dec7aaf14183452126049323859ac7a3
Reviewed-on: http://gerrit.openafs.org/4117
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/vol/vol-salvage.c

index c217222..d78a6ba 100644 (file)
@@ -1399,7 +1399,7 @@ AskVolumeSummary(struct SalvInfo *salvinfo, VolumeId singleVolumeNumber)
                Exit(SALSRV_EXIT_VOLGROUP_LINK);
            }
 
-           salvinfo->volumeSummaryp = malloc(VOL_VG_MAX_VOLS * sizeof(struct VolumeSummary));
+           salvinfo->volumeSummaryp = calloc(VOL_VG_MAX_VOLS, sizeof(struct VolumeSummary));
            osi_Assert(salvinfo->volumeSummaryp != NULL);
 
            salvinfo->nVolumes = 0;
@@ -1715,7 +1715,7 @@ GetVolumeSummary(struct SalvInfo *salvinfo, VolumeId singleVolumeNumber)
        nvols = VOL_VG_MAX_VOLS;
     }
 
-    salvinfo->volumeSummaryp = malloc(nvols * sizeof(struct VolumeSummary));
+    salvinfo->volumeSummaryp = calloc(nvols, sizeof(struct VolumeSummary));
     osi_Assert(salvinfo->volumeSummaryp != NULL);
 
     params.singleVolumeNumber = singleVolumeNumber;
@@ -2289,8 +2289,7 @@ SalvageVolumeHeaderFile(struct SalvInfo *salvinfo, struct InodeSummary *isp,
            Log("No header file for volume %u; %screating %s\n",
                isp->volumeId, (Testing ? "it would have been " : ""),
                path);
-       isp->volSummary = (struct VolumeSummary *)
-           malloc(sizeof(struct VolumeSummary));
+       isp->volSummary = calloc(1, sizeof(struct VolumeSummary));
        isp->volSummary->fileName = ToString(headerName);
 
        writefunc = VCreateVolumeDiskHeader;