diff --git a/ntsys-assembler.h b/ntsys-assembler.h index 7a79fd3..39ace16 100644 --- a/ntsys-assembler.h +++ b/ntsys-assembler.h @@ -39,7 +39,12 @@ int ntsys_compile_asm(char* filename, char* asm_out) { } rewind(fp); while ((st = ntsys_get_str(st, fp)) != NULL) { - if (ntsys_asm_from_string(&mem_pos, st, fw) != EXIT_SUCCESS) return EXIT_FAILURE; + if (ntsys_asm_from_string(&mem_pos, st, fw) != EXIT_SUCCESS) { + free(st); + fclose(fp); + fclose(fw); + return EXIT_FAILURE; + } } free(st); fclose(fp);