diff options
Diffstat (limited to 'src/dumm/guest.c')
-rw-r--r-- | src/dumm/guest.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/dumm/guest.c b/src/dumm/guest.c index aed2a3e18..014a9113f 100644 --- a/src/dumm/guest.c +++ b/src/dumm/guest.c @@ -576,11 +576,22 @@ static private_guest_t *guest_create_generic(char *parent, char *name, if (*parent == '/' || getcwd(cwd, sizeof(cwd)) == NULL) { - asprintf(&this->dirname, "%s/%s", parent, name); + if (asprintf(&this->dirname, "%s/%s", parent, name) < 0) + { + this->dirname = NULL; + } } else { - asprintf(&this->dirname, "%s/%s/%s", cwd, parent, name); + if (asprintf(&this->dirname, "%s/%s/%s", cwd, parent, name) < 0) + { + this->dirname = NULL; + } + } + if (this->dirname == NULL) + { + free(this); + return NULL; } if (create) { |