X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Futils.c;h=f61456d6f8ebfde0857b1392dab49a94396a9065;hp=2744581c766a10ac286e8afd0a68a538bf2afc07;hb=d4c34b4439a9dbd89664de460ed37ecddc260fb1;hpb=b78007de9802005825390bee71dfce2306b42519 diff --git a/sbr/utils.c b/sbr/utils.c index 2744581..f61456d 100644 --- a/sbr/utils.c +++ b/sbr/utils.c @@ -65,6 +65,18 @@ mh_xcalloc(size_t nmemb, size_t size) } /* +** Free a pointer and set it to NULL. +*/ +void +mh_free0(void * ptr) +{ + void ** p; + p = ptr; + free(*p); + *p = NULL; +} + +/* ** Return the present working directory, if the current directory does not ** exist, or is too long, make / the pwd. */ @@ -119,7 +131,7 @@ add(char *s2, char *s1) /* Copy s1 and free it */ if (s1) { memcpy(cp, s1, len1); - free(s1); + mh_free0(&s1); } /* Copy s2 */ @@ -155,7 +167,7 @@ create_folder(char *folder, int autocreate, void (*done_callback)(int)) if (!getanswer(cp)) { done_callback(EX_CANTCREAT); } - free(cp); + mh_free0(&cp); } else if (autocreate == -1) { /* do not create, so exit */ done_callback(EX_CANTCREAT);