From 36d9097cf3cc7ecace0b650db66055c606cd67e0 Mon Sep 17 00:00:00 2001 From: Emeric Brun Date: Fri, 1 Jul 2022 04:57:39 -0700 Subject: [PATCH] MINOR: fd: Add BUG_ON checks on fd_insert() This patch adds two BUG_ON on fd_insert() into the fdtab checking if the fd has been correctly re-initialized into the fdtab before a new insert. It will raise a BUG if we try to insert the same fd multiple times without an intermediate fd_delete(). First one checks that the owner for this fd in fdtab was reset to NULL. Second one checks that the state flags for this fd in fdtab was reset to 0. This patch could be backported on version >= 2.4 --- include/haproxy/fd.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/haproxy/fd.h b/include/haproxy/fd.h index eaee211aac..fb16cc84ab 100644 --- a/include/haproxy/fd.h +++ b/include/haproxy/fd.h @@ -332,6 +332,8 @@ static inline void fd_insert(int fd, void *owner, void (*iocb)(int fd), unsigned * addition to overwriting some unexpected memory areas. */ BUG_ON(fd < 0 || fd >= global.maxsock); + BUG_ON(fdtab[fd].owner != NULL); + BUG_ON(fdtab[fd].state != 0); fdtab[fd].owner = owner; fdtab[fd].iocb = iocb; -- 2.39.5