[Bug 281483] [librt] timer_delete segfaults with incorrect timer id
Date: Fri, 13 Sep 2024 15:06:53 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281483 Bug ID: 281483 Summary: [librt] timer_delete segfaults with incorrect timer id Product: Base System Version: 14.1-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: luc.techer64@gmail.com Calling timer_delete from librt with an uninitialised timer id causes a segmentation fault. As I understand it, "timer_t" is a typedef for "struct __timer *", so calling "timer_delete(0);" should be equivalent to calling timer_delete(NULL). In the timer_delete implementation, there is no NULL check prior to dereferencing the provided timer id causing a segmentation fault. This also causes timer_delete to segfault when called twice with the same timer id. It would be more in line with the documentation to return -1 and set errno to EINVAL in these cases. Invalid values for timer id other than NULL cannot be checked with the current implementation, maybe an API rework would be necessary to fix this ? -- You are receiving this mail because: You are the assignee for the bug.