mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-24 04:35:41 +01:00
6667a78c9b
mbedtls_net_poll() and mbedtls_net_recv_timeout() rely on select(), which represents sets of file descriptors through the fd_set type. This type cannot hold file descriptors larger than FD_SETSIZE. Make sure that these functions identify this failure code. Without a proper range check of the file descriptor in the mbedtls_net_xxx function, this test fails when running with UBSan: ``` net_poll beyond FD_SETSIZE ........................................ source/library/net_sockets.c:482:9: runtime error: index 16 out of bounds for type '__fd_mask [16]' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior source/library/net_sockets.c:482:9 in ``` This is a non-regression test for https://github.com/ARMmbed/mbedtls/issues/4169 . The implementation of this test is specific to Unix-like platforms. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
9 lines
144 B
Plaintext
9 lines
144 B
Plaintext
Context init-free-free
|
|
context_init_free:0
|
|
|
|
Context init-free-init-free
|
|
context_init_free:1
|
|
|
|
net_poll beyond FD_SETSIZE
|
|
poll_beyond_fd_setsize:
|