diff options
-rw-r--r-- | src/userfile.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/userfile.c b/src/userfile.c index 3a738366..72779da4 100644 --- a/src/userfile.c +++ b/src/userfile.c @@ -44,19 +44,20 @@ int snd_user_file(const char *file, char **result) err = wordexp(file, &we, WRDE_NOCMD); switch (err) { case WRDE_NOSPACE: + wordfree(&we); return -ENOMEM; case 0: if (we.we_wordc == 1) break; + wordfree(&we); /* fall thru */ default: - wordfree(&we); return -EINVAL; } *result = strdup(we.we_wordv[0]); + wordfree(&we); if (*result == NULL) return -ENOMEM; - wordfree(&we); return 0; } |