iExtra checks, fixed cleanup in file generating routine - fiche - A pastebin adjusted for gopher use Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/fiche.git URL:git://vernunftzentrum.de/fiche.git vernunftzentrum.de 70 1Log /ckeen/repos/fiche/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/fiche/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/fiche/refs.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/fiche/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit 53c0027b3c38a0a253d975747037507780833d3c /ckeen/repos/fiche/commit/53c0027b3c38a0a253d975747037507780833d3c.gph vernunftzentrum.de 70 1parent 7575609c415f84320b7956279d4d2adef8a5228e /ckeen/repos/fiche/commit/7575609c415f84320b7956279d4d2adef8a5228e.gph vernunftzentrum.de 70 hAuthor: solusipse URL:mailto:solus1ps3@gmail.com vernunftzentrum.de 70 iDate: Sat, 2 Sep 2017 19:48:02 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iExtra checks, fixed cleanup in file generating routine Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i fiche.c | 7 +++++++ Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i1 file changed, 7 insertions(+), 0 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/fiche.c b/fiche.c /ckeen/repos/fiche/file/fiche.c.gph vernunftzentrum.de 70 i@@ -705,6 +705,10 @@ static void generate_slug(char **output, uint8_t length, uint8_t extra_length) { Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i static int create_directory(char *output_dir, char *slug) { Err vernunftzentrum.de 70 i+ if (!slug) { Err vernunftzentrum.de 70 i+ return -1; Err vernunftzentrum.de 70 i+ } Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i // Additional byte is for the slash Err vernunftzentrum.de 70 i size_t len = strlen(output_dir) + strlen(slug) + 2; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -740,10 +744,13 @@ static int save_to_file(uint8_t *data, char *output_dir, char *slug) { Err vernunftzentrum.de 70 i // Attempt file saving Err vernunftzentrum.de 70 i FILE *f = fopen(path, "w"); Err vernunftzentrum.de 70 i if (!f) { Err vernunftzentrum.de 70 i+ free(path); Err vernunftzentrum.de 70 i return -1; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i if ( fprintf(f, "%s", data) < 0 ) { Err vernunftzentrum.de 70 i+ fclose(f); Err vernunftzentrum.de 70 i+ free(path); Err vernunftzentrum.de 70 i return -1; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 .