diff --git a/src/interpreter_states.c b/src/interpreter_states.c index dea9fbf..256e975 100644 --- a/src/interpreter_states.c +++ b/src/interpreter_states.c @@ -17,25 +17,25 @@ int init_state() { memset(state->registers, 0, sizeof(s_registers)); state->args = malloc(sizeof(s_arguments)); if (state->args == NULL) { - free(state); free(state->registers); + free(state); return 1; } state->args->arg1 = malloc(sizeof(char) * MAX_ARG_SIZE); state->args->arg2 = malloc(sizeof(char) * MAX_ARG_SIZE); if (state->args->arg1 == NULL || state->args->arg2 == NULL) { - free(state); free(state->registers); + free(state); return 1; } memset(state->args->arg1, 0, sizeof(char) * MAX_ARG_SIZE); memset(state->args->arg2, 0, sizeof(char) * MAX_ARG_SIZE); state->labels_values = malloc(sizeof(int) * MAX_LABELS); if (state->labels_values == NULL) { - free(state); free(state->registers); free(state->args->arg1); free(state->args->arg2); + free(state); return 1; } memset(state->labels_values, 0, sizeof(int) * MAX_LABELS); diff --git a/tests/fmemopen.c b/tests/fmemopen.c index 0e39c28..a46fe09 100644 --- a/tests/fmemopen.c +++ b/tests/fmemopen.c @@ -1,6 +1,8 @@ +#include "fmemopen.h" + +typedef int make_iso_compilers_happy; //... #ifdef _WIN32 #include -#include "fmemopen.h" #include #include #include diff --git a/tests/fmemopen.h b/tests/fmemopen.h index fd6417b..7a6b6ac 100644 --- a/tests/fmemopen.h +++ b/tests/fmemopen.h @@ -1,5 +1,6 @@ -#ifdef _WIN32 #pragma once + +#ifdef _WIN32 #include FILE *fmemopen(void *buf, size_t len, const char *type); #endif