Correct basename usage for verify dump
authorJens Axboe <jaxboe@fusionio.com>
Thu, 13 Jan 2011 17:57:54 +0000 (18:57 +0100)
committerJens Axboe <jaxboe@fusionio.com>
Thu, 13 Jan 2011 17:57:54 +0000 (18:57 +0100)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
verify.c

index b05999425a4fc416db95d597e7151dd343885ddc..14d32134d8c688f3513f2602800bab78b61d93b5 100644 (file)
--- a/verify.c
+++ b/verify.c
@@ -198,11 +198,11 @@ struct vcont {
 static void dump_buf(char *buf, unsigned int len, unsigned long long offset,
                     const char *type, struct fio_file *f)
 {
-       char fname[256];
+       char *ptr, fname[256];
        int ret, fd;
 
-       strcpy(fname, f->file_name);
-       basename(fname);
+       ptr = strdup(f->file_name);
+       strcpy(fname, basename(ptr));
 
        sprintf(fname + strlen(fname), ".%llu.%s", offset, type);
 
@@ -226,6 +226,7 @@ static void dump_buf(char *buf, unsigned int len, unsigned long long offset,
 
        close(fd);
        log_err("       %s data dumped as %s\n", type, fname);
+       free(ptr);
 }
 
 /*