Fix minor pointer/memory management issues

This commit is contained in:
Martin Herkt 2017-02-15 14:26:37 +01:00
parent 67b0c4da5e
commit 582b2f9dd9
No known key found for this signature in database
GPG key ID: C24B9CD04DC6AE7F
7 changed files with 12 additions and 6 deletions

View file

@ -53,7 +53,7 @@ void credits_add(char *data, int time) {
for(c = data; *c; ++c)
if(*c == '\n') e->lines++;
e->data = malloc(e->lines * sizeof(char**));
e->data = malloc(e->lines * sizeof(char*));
for(c = data; *c; ++c) {
if(*c == '\n') {

View file

@ -141,4 +141,6 @@ void ending_loop(void) {
if(global.frames == e.entries[e.count-1].time-ENDING_FADE_OUT)
set_transition(TransFadeWhite, ENDING_FADE_OUT, ENDING_FADE_OUT);
}
free_ending(&e);
}

View file

@ -875,13 +875,13 @@ void bind_input_event(EventType type, int state, void *arg) {
}
case E_CharErased: {
if(strlen(dest))
if(dest != NULL && strlen(dest))
dest[strlen(dest)-1] = 0;
break;
}
case E_SubmitText: {
if(strlen(dest))
if(dest != NULL && strlen(dest))
stralloc(&(tconfig.strval[b->configentry]), dest);
else
strlcpy(dest, tconfig.strval[b->configentry], OPTIONS_TEXT_INPUT_BUFSIZE);

View file

@ -73,6 +73,7 @@ void load_bgm_descriptions(const char *path) {
strcat(fullname, fname);
FILE *fp = fopen(fullname, "rt");
free(fullname);
if (fp == NULL) return;
char line[256];

View file

@ -133,7 +133,7 @@ Model *load_model(char *filename) {
parse_obj(filename, &data);
m->fverts = data.fverts;
m->indices = calloc(data.icount, sizeof(int));
m->indices = calloc(data.icount, sizeof(unsigned int));
m->icount = data.icount;
verts = calloc(data.icount, sizeof(Vertex));

View file

@ -125,6 +125,8 @@ void load_resources(void) {
resources.state |= RS_ModelsLoaded;
}
free(path);
}
void free_resources(void) {
@ -161,7 +163,8 @@ void draw_loading_screen(void) {
set_ortho();
tex = load_texture(buf);
free(buf);
draw_texture_p(SCREEN_W/2,SCREEN_H/2, tex);
SDL_GL_SwapWindow(video.window);
}
}

View file

@ -111,7 +111,7 @@ Vector **linear3dpos(Vector q, float maxrange, Vector p, Vector r) {
num += mod;
}
list = realloc(list, (++size)*sizeof(Vector));
list = realloc(list, (++size)*sizeof(Vector*));
list[size-1] = NULL;
return list;