s->sq_ring.ring_entries and s->cq_ring.ring_entries will be NULL, incase setup_ring fails. This will cause a segmentation fault. Avoid dereferencing them in such a scenario. Signed-off-by: Anuj Gupta <anuj20.g@xxxxxxxxxxx> --- t/io_uring.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/t/io_uring.c b/t/io_uring.c index 2f8d63fb..bf0aa26e 100644 --- a/t/io_uring.c +++ b/t/io_uring.c @@ -1059,7 +1059,8 @@ static int submitter_init(struct submitter *s) err = 0; } else if (!aio) { err = setup_ring(s); - sprintf(buf, "Engine=io_uring, sq_ring=%d, cq_ring=%d\n", *s->sq_ring.ring_entries, *s->cq_ring.ring_entries); + if (!err) + sprintf(buf, "Engine=io_uring, sq_ring=%d, cq_ring=%d\n", *s->sq_ring.ring_entries, *s->cq_ring.ring_entries); } else { sprintf(buf, "Engine=aio\n"); err = setup_aio(s); -- 2.25.1