mirror of
https://github.com/samba-team/samba.git
synced 2025-03-12 20:58:37 +03:00
In messaging_rec_create(), messaging_recv_cb() and messaging_dispatch_rec(), variable length arrays of file descriptors are declared using an incoming num_fds parameter. However, there are several scenarios where num_fds can be zero, and declaring a zero-length VLA is undefined behavior. This can lead to segmentation faults and/or other crashes when compiling with recent versions of clang at high optimization levels. To avoid ever using zero as the length for these declarations, use MAX(1, length) instead. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14605 Signed-off-by: Dimitry Andric <dimitry@andric.com> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Mon Jan 4 10:50:07 UTC 2021 on sn-devel-184 (cherry picked from commit 3e96c95d41e4ccd0bf43b3ee78af644e2bc32e30) Autobuild-User(v4-12-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-12-test): Tue Jan 5 09:11:44 UTC 2021 on sn-devel-184