From a94c066014fe460e2823dee83debf71d6a8a8f24 Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Wed, 26 Apr 2023 17:15:58 -0400 Subject: Avoid segfaults for empty param string --- src/navier-stokes.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/navier-stokes.c b/src/navier-stokes.c index 6387fcf..f0c31ed 100644 --- a/src/navier-stokes.c +++ b/src/navier-stokes.c @@ -168,13 +168,15 @@ int eea( // params // allocate buffer for params - char* params=calloc(sizeof(char), strlen(params_string)+1); - strcpy(params, params_string); - remove_entry(params, "starting_time"); - remove_entry(params, "init"); - remove_entry(params, "nsteps"); - fprintf(savefile," -p \"%s;starting_time=%lu;nsteps=%lu;init=file:%s\"", params, t+1, (nsteps == 0 ? 0 : nsteps-t-1), savefile_string); - free(params); + if(params_string!=NULL) { + char* params=calloc(sizeof(char), strlen(params_string)+1); + strcpy(params, params_string); + remove_entry(params, "starting_time"); + remove_entry(params, "init"); + remove_entry(params, "nsteps"); + fprintf(savefile," -p \"%s;starting_time=%lu;nsteps=%lu;init=file:%s\"", params, t+1, (nsteps == 0 ? 0 : nsteps-t-1), savefile_string); + free(params); + } fprintf(savefile," energy\n"); -- cgit v1.2.3-54-g00ecf