summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWei Jiangang <weijg.fnst@cn.fujitsu.com>2016-04-07 10:46:24 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2016-07-17 09:59:21 +0200
commit55ad781ca7fcaed19e04554b558727206d638a99 (patch)
tree3238b42fb35446849c71a6d5baafee314117a0f9
parent6b92bbfe812746fe7841a24c24e6460f5359ce72 (diff)
downloadqemu-55ad781ca7fcaed19e04554b558727206d638a99.tar.gz
use g_path_get_dirname instead of dirname
Use g_path_get_basename to get the directory components of a file name, and free its return when no longer needed. Signed-off-by: Wei Jiangang <weijg.fnst@cn.fujitsu.com> Message-Id: <1459997185-15669-3-git-send-email-weijg.fnst@cn.fujitsu.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--os-posix.c3
-rw-r--r--util/oslib-posix.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/os-posix.c b/os-posix.c
index 3755265582..c6ddb7d830 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -89,7 +89,7 @@ char *os_find_datadir(void)
if (exec_dir == NULL) {
return NULL;
}
- dir = dirname(exec_dir);
+ dir = g_path_get_dirname(exec_dir);
max_len = strlen(dir) +
MAX(strlen(SHARE_SUFFIX), strlen(BUILD_SUFFIX)) + 1;
@@ -103,6 +103,7 @@ char *os_find_datadir(void)
}
}
+ g_free(dir);
g_free(exec_dir);
return res;
}
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index d8e5dcfede..6d70d9a706 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -299,9 +299,11 @@ void qemu_init_exec_dir(const char *argv0)
return;
}
}
- dir = dirname(p);
+ dir = g_path_get_dirname(p);
pstrcpy(exec_dir, sizeof(exec_dir), dir);
+
+ g_free(dir);
}
char *qemu_get_exec_dir(void)