diff --git a/src/assembler.c b/src/assembler.c index 290a44b..8a2c3a6 100644 --- a/src/assembler.c +++ b/src/assembler.c @@ -75,11 +75,9 @@ assemble_single_buf(uint8_t **buf, uint8_t *bsize, char *mnemonic, addressing_t } *bsize = id.size; + *buf = GC_MALLOC(id.size); - if(*buf == NULL) { - rk65c02_log(LOG_ERROR, "Error allocating assembly buffer."); - return false; - } + assert(*buf != NULL); /* fill the buffer */ memset(*buf, 0, id.size); diff --git a/src/bus.c b/src/bus.c index 3fd5f1e..7675e64 100644 --- a/src/bus.c +++ b/src/bus.c @@ -35,6 +35,7 @@ bus_device_add(bus_t *b, device_t *d, uint16_t addr) } dm = (device_mapping_t *) GC_MALLOC(sizeof(device_mapping_t)); + assert(dm != NULL); dm->dev = d; dm->addr = addr; diff --git a/src/debug.c b/src/debug.c index 5225b64..3bdad04 100644 --- a/src/debug.c +++ b/src/debug.c @@ -46,10 +46,7 @@ debug_trace_savestate(rk65c02emu_t *e, uint16_t address, instrdef_t *id, trace_t *tr; tr = (trace_t *) GC_MALLOC(sizeof(trace_t)); - if (tr == NULL) { - fprintf(stderr, "Error allocating trace structure.\n"); - return; - } + assert(tr != NULL); tr->address = address; diff --git a/src/device_fb.c b/src/device_fb.c index 83c080e..785e625 100644 --- a/src/device_fb.c +++ b/src/device_fb.c @@ -68,9 +68,11 @@ device_fb_init() d->write_1 = device_fb_write_1; f = GC_MALLOC(sizeof(struct fb_state)); + assert(f != NULL); d->aux = f; f->cram = GC_MALLOC(FB_AS_SIZE); + assert(f->cram != NULL); memset(d->aux, 0, FB_AS_SIZE); return d; diff --git a/src/device_ram.c b/src/device_ram.c index 7027697..bfb5ba6 100644 --- a/src/device_ram.c +++ b/src/device_ram.c @@ -41,7 +41,6 @@ device_ram_init(uint16_t size) device_t *d; d = (device_t *) GC_MALLOC(sizeof(device_t)); - assert(d != NULL); d->name = "RAM"; @@ -52,6 +51,8 @@ device_ram_init(uint16_t size) d->finish = NULL; d->aux = GC_MALLOC(size); + assert(d->aux != NULL); + memset(d->aux, 0, size); return d; diff --git a/src/device_serial.c b/src/device_serial.c index 6b1e155..910ffcf 100644 --- a/src/device_serial.c +++ b/src/device_serial.c @@ -89,6 +89,7 @@ device_serial_init() d->finish = device_serial_finish; dp = (struct device_serial_priv *) GC_MALLOC(sizeof(struct device_serial_priv)); + assert(dp != NULL); d->aux = dp; if (mkfifo(txpipepath, S_IRUSR | S_IWUSR) != 0) { diff --git a/src/instruction.c b/src/instruction.c index 9a6ef4f..20d5e14 100644 --- a/src/instruction.c +++ b/src/instruction.c @@ -73,11 +73,7 @@ instruction_string_get(instruction_t *i) char *str; str = GC_MALLOC(INSTR_STR_LEN); - if (str == NULL) { - rk65c02_log(LOG_CRIT, "Error allocating memory for buffer: %s.", - strerror(errno)); - return NULL; - } + assert(str != NULL); memset(str, 0, INSTR_STR_LEN); id = instruction_decode(i->opcode); diff --git a/src/rk65c02.c b/src/rk65c02.c index acfc3a1..681f151 100644 --- a/src/rk65c02.c +++ b/src/rk65c02.c @@ -25,6 +25,7 @@ rk65c02_load_rom(const char *path, uint16_t load_addr, bus_t *b) if (b == NULL) { b = GC_MALLOC(sizeof(bus_t)); + assert(b != NULL); *b = bus_init_with_default_devs(); } @@ -215,11 +216,7 @@ rk65c02_regs_string_get(reg_state_t regs) /* XXX: string allocation to a separate utility function? */ str = GC_MALLOC(REGS_STR_LEN); - if (str == NULL) { - rk65c02_log(LOG_CRIT, "Error allocating memory for buffer: %s.", - strerror(errno)); - return NULL; - } + assert(str != NULL); memset(str, 0, REGS_STR_LEN); snprintf(str, REGS_STR_LEN, "A: %X X: %X Y: %X PC: %X SP: %X P: %c%c%c%c%c%c%c%c",