aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWei Jiangang <weijg.fnst@cn.fujitsu.com>2016-04-07 10:46:23 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2016-09-14 12:25:14 +0200
commitb8da57fa1537347f54a0864c61a68b14b02ce911 (patch)
treea2338dbb876c485ad32b9ff237eaf91151b21dcd
parent7616f1c2da1c0f336a474a56ad6d32e15ccd666e (diff)
linux-user: complete omission of removing uses of strdup
The 900cfbc just removed two unchecked uses of strdup in fill_psinfo and missed the rest in core_dump_filename. This patch fixes it. Signed-off-by: Wei Jiangang <weijg.fnst@cn.fujitsu.com> Message-Id: <1459997185-15669-2-git-send-email-weijg.fnst@cn.fujitsu.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--linux-user/elfload.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index f807baf389..29455e4e47 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2718,7 +2718,6 @@ static int core_dump_filename(const TaskState *ts, char *buf,
size_t bufsize)
{
char timestamp[64];
- char *filename = NULL;
char *base_filename = NULL;
struct timeval tv;
struct tm tm;
@@ -2731,14 +2730,12 @@ static int core_dump_filename(const TaskState *ts, char *buf,
return (-1);
}
- filename = strdup(ts->bprm->filename);
- base_filename = strdup(basename(filename));
+ base_filename = g_path_get_basename(ts->bprm->filename);
(void) strftime(timestamp, sizeof (timestamp), "%Y%m%d-%H%M%S",
localtime_r(&tv.tv_sec, &tm));
(void) snprintf(buf, bufsize, "qemu_%s_%s_%d.core",
base_filename, timestamp, (int)getpid());
- free(base_filename);
- free(filename);
+ g_free(base_filename);
return (0);
}