diff --git a/src/util/virfile.c b/src/util/virfile.c index d5e4d0a289..9787086f3d 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -3187,10 +3187,7 @@ virFileAbsPath(const char *path, char **abspath) if (path[0] == '/') { *abspath = g_strdup(path); } else { - g_autofree char *buf = getcwd(NULL, 0); - - if (buf == NULL) - return -1; + g_autofree char *buf = g_get_current_dir(); *abspath = g_strdup_printf("%s/%s", buf, path); } diff --git a/tools/vsh.c b/tools/vsh.c index a2f33e01aa..a36b6bfe23 100644 --- a/tools/vsh.c +++ b/tools/vsh.c @@ -3296,21 +3296,11 @@ const vshCmdInfo info_pwd[] = { bool cmdPwd(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED) { - char *cwd; - bool ret = true; - char ebuf[1024]; + g_autofree char *cwd = g_get_current_dir(); - cwd = getcwd(NULL, 0); - if (!cwd) { - vshError(ctl, _("pwd: cannot get current directory: %s"), - virStrerror(errno, ebuf, sizeof(ebuf))); - ret = false; - } else { - vshPrint(ctl, _("%s\n"), cwd); - VIR_FREE(cwd); - } + vshPrint(ctl, _("%s\n"), cwd); - return ret; + return true; } const vshCmdInfo info_quit[] = {