mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-10 07:02:40 +02:00
BUG/MEDIUM: cli: fix "show fd" crash when dumping closed FDs
I misplaced the "if (!fdt.owner)" test so it can occasionally crash when dumping an fd that's already been closed but still appears in the table. It's not critical since this was not pushed into any release nor backported though.
This commit is contained in:
@@ -812,6 +812,9 @@ static int cli_io_handler_show_fd(struct appctx *appctx)
|
||||
|
||||
fdt = fdtab[fd];
|
||||
|
||||
if (!fdt.owner)
|
||||
goto skip; // closed
|
||||
|
||||
if (fdt.iocb == conn_fd_handler) {
|
||||
conn_flags = ((struct connection *)fdt.owner)->flags;
|
||||
li = objt_listener(((struct connection *)fdt.owner)->target);
|
||||
@@ -821,9 +824,6 @@ static int cli_io_handler_show_fd(struct appctx *appctx)
|
||||
else if (fdt.iocb == listener_accept)
|
||||
li = fdt.owner;
|
||||
|
||||
if (!fdt.owner)
|
||||
goto skip; // closed
|
||||
|
||||
chunk_printf(&trash,
|
||||
" %5d : st=0x%02x(R:%c%c%c W:%c%c%c) ev=0x%02x(%c%c%c%c%c) [%c%c%c%c] cache=%u owner=%p iocb=%p(%s)",
|
||||
fd,
|
||||
|
||||
Reference in New Issue
Block a user