--- lib/libdisk/write_ia64_disk.c.ORIG Thu Feb 5 20:18:39 2004 +++ lib/libdisk/write_ia64_disk.c Wed Jul 13 01:25:04 2005 @@ -245,7 +245,7 @@ if (sav > 0) { save = malloc(sav * sizeof(struct gpt_ent)); if (save == NULL) - abort(); + return(ENOMEM); sav = 0; for (c = disk->chunks->part; c != NULL; c = c->next) { if ((c->flags & CHUNK_HAS_INDEX)) { @@ -332,6 +332,8 @@ bufsz += disk->sector_size; bufsz = (bufsz / disk->sector_size) * disk->sector_size; buffer = calloc(1, bufsz); + if (buffer == NULL) + return (ENOMEM); memcpy(buffer, &hdr[0], sizeof(struct gpt_hdr)); off = hdr[0].hdr_lba_self * disk->sector_size; --- lib/libdisk/write_sparc64_disk.c.ORIG Wed Apr 23 01:44:38 2003 +++ lib/libdisk/write_sparc64_disk.c Wed Jul 13 01:36:34 2005 @@ -44,10 +44,13 @@ fd = open(device, O_RDWR); if (fd < 0) { warn("open(%s) failed", device); - return (1); + return (errno); } - sl = calloc(sizeof *sl, 1); + if ((sl = calloc(sizeof *sl, 1)) == NULL) { + close(fd); + return(ENOMEM); + } c = d1->chunks; c2 = c->part; secpercyl = d1->bios_sect * d1->bios_hd;