diff mbox

[1/3] linux-user: complete omission of removing uses of strdup

Message ID 1459997185-15669-2-git-send-email-weijg.fnst@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wei Jiangang April 7, 2016, 2:46 a.m. UTC
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>
---
 linux-user/elfload.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Paolo Bonzini July 14, 2016, 12:13 p.m. UTC | #1
On 07/04/2016 04:46, Wei Jiangang wrote:
> 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>
> ---
>  linux-user/elfload.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index e47caff..6373320 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);
>  }
> 

This patch fell through the cracks, I think.

Paolo
diff mbox

Patch

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index e47caff..6373320 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);
 }