iolog: fix Null pointer dereferences (FORWARD_NULL)
authorHyunwoo Park <dshw.park@samsung.com>
Thu, 30 May 2024 02:15:05 +0000 (02:15 +0000)
committerHyunwoo Park <dshw.park@samsung.com>
Fri, 31 May 2024 10:08:09 +0000 (10:08 +0000)
CID 494150: Null pointer dereferences (FORWARD_NULL) @ iolog.c:148 in ipo_special()
This patch removes the possibility of null pointer dereferencing(io_u->file)
throughout the call stack of get_io_u() → read_iolog_get() → dp_fill_dspec_data()

Signed-off-by: Hyunwoo Park <dshw.park@samsung.com>
iolog.c

diff --git a/iolog.c b/iolog.c
index 37ad0d2a16f55c354580e3229589e2e60afb1187..e3a56db9573328196fccf27d04ccbe4f0e50d01b 100644 (file)
--- a/iolog.c
+++ b/iolog.c
@@ -236,15 +236,15 @@ int read_iolog_get(struct thread_data *td, struct io_u *io_u)
                                                io_u->buflen, io_u->file->file_name);
                        if (ipo->delay)
                                iolog_delay(td, ipo->delay);
+
+                       if (td->o.dp_type != FIO_DP_NONE)
+                               dp_fill_dspec_data(td, io_u);
                } else {
                        elapsed = mtime_since_genesis();
                        if (ipo->delay > elapsed)
                                usec_sleep(td, (ipo->delay - elapsed) * 1000);
                }
 
-               if (td->o.dp_type != FIO_DP_NONE)
-                       dp_fill_dspec_data(td, io_u);
-
                free(ipo);
 
                if (io_u->ddir != DDIR_WAIT)