diff --git a/sim_disk.c b/sim_disk.c index 3874cbce..e5f88ace 100644 --- a/sim_disk.c +++ b/sim_disk.c @@ -1564,11 +1564,8 @@ switch (DK_GET_FMT (uptr)) { /* case on format */ } uptr->filename = (char *) calloc (CBUFSIZE, sizeof (char));/* alloc name buf */ uptr->disk_ctx = ctx = (struct disk_context *)calloc(1, sizeof(struct disk_context)); -if ((uptr->filename == NULL) || (uptr->disk_ctx == NULL)) { - free (uptr->filename); - free (uptr->disk_ctx); +if ((uptr->filename == NULL) || (uptr->disk_ctx == NULL)) return _err_return (uptr, SCPE_MEM); - } strncpy (uptr->filename, cptr, CBUFSIZE); /* save name */ ctx->sector_size = (uint32)sector_size; /* save sector_size */ ctx->capac_factor = ((dptr->dwidth / dptr->aincr) == 16) ? 2 : 1; /* save capacity units (word: 2, byte: 1) */