From: John Darrington Date: Thu, 7 Mar 2013 10:21:40 +0000 (+0100) Subject: zip-reader.c: Replace [cm]alloc by their x*alloc counterparts X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f0f9791a3b62af146beda51936664facc91e8a81;p=pspp zip-reader.c: Replace [cm]alloc by their x*alloc counterparts --- diff --git a/src/libpspp/zip-reader.c b/src/libpspp/zip-reader.c index 59c47bc975..985b0a9027 100644 --- a/src/libpspp/zip-reader.c +++ b/src/libpspp/zip-reader.c @@ -275,7 +275,7 @@ zip_header_read_next (struct zip_reader *zr) get_u32 (zr->fr, &eattr); get_u32 (zr->fr, &zm->offset); - zm->name = calloc (nlen + 1, 1); + zm->name = xzalloc (nlen + 1); get_bytes (zr->fr, zm->name, nlen); skip_bytes (zr->fr, extralen); @@ -298,7 +298,7 @@ zip_reader_create (const char *filename, struct string *errs) off_t offset = 0; uint32_t central_dir_start, central_dir_length; - struct zip_reader *zr = malloc (sizeof *zr); + struct zip_reader *zr = xzalloc (sizeof *zr); zr->errs = errs; if ( zr->errs) ds_init_empty (zr->errs); @@ -363,7 +363,8 @@ zip_reader_create (const char *filename, struct string *errs) return NULL; } - zr->members = calloc (zr->n_members, sizeof (*zr->members)); + zr->members = xcalloc (zr->n_members, sizeof (*zr->members)); + memset (zr->members, 0, zr->n_members * sizeof (*zr->members)); zr->filename = strdup (filename); @@ -393,6 +394,7 @@ zip_member_open (struct zip_reader *zr, const char *member) for (i = 0; i < zr->n_members; ++i) { zm = zr->members[i]; + if (zm == NULL) zm = zr->members[i] = zip_header_read_next (zr); if (zm && 0 == strcmp (zm->name, member)) @@ -429,7 +431,7 @@ zip_member_open (struct zip_reader *zr, const char *member) get_u16 (zm->fp, &nlen); get_u16 (zm->fp, &extra_len); - name = calloc (nlen + 1, sizeof (char)); + name = xzalloc (nlen + 1); get_bytes (zm->fp, name, nlen);