1
1
mirror of http://git.sesse.net/plocate synced 2025-10-05 23:42:49 +02:00

uring: always pair io_uring_get_probe_ring and io_uring_free_probe

As of liburing 2.4-to-be, liburing has ceased using malloc for its
probe allocations: it's concealed behind layers of confusing macros,
but io_uring_get_probe_ring() doesn't actually use libc's malloc
but ratehr its own __uring_alloc/__uring_free functions.  So it no
longer works to free() the return value of io_uring_get_probe_ring():
you have to use io_uring_free_probe() instead.

I am going to report this to liburing upstream as a possible bug,
but it is easy to work around in plocate in any case.
This commit is contained in:
Nick Alcock
2023-03-20 11:48:51 +00:00
committed by Steinar H. Gunderson
parent a81eb2f236
commit 7f39444852

View File

@@ -41,7 +41,7 @@ IOUringEngine::IOUringEngine(size_t slop_bytes)
if (!supports_stat) {
dprintf("io_uring on this kernel does not support statx(); will do synchronous access checking.\n");
}
free(probe);
io_uring_free_probe(probe);
}
#endif
}