Description of problem: I just tried to compile package hal-0.5.2-2 from Redhat Fedora Core development tree with a new development version of the GNU C compiler. The compiler said 1. volume_id.c:227: warning: array subscript out of range The source code is __u8 tmp_node[VOLUME_ID_PATH_MAX]; snprintf(tmp_node, VOLUME_ID_PATH_MAX, "/dev/.volume_id-%u-%u-%u", getpid(), major(devt), minor(devt)); tmp_node[VOLUME_ID_PATH_MAX] = '\0'; Clearly broken code. tmp_node[VOLUME_ID_PATH_MAX] doesn't exist. Suggest tmp_node[VOLUME_ID_PATH_MAX - 1] = '\0'; 2. drive_id.c:118: warning: array subscript out of range The source code is __u8 tmp_node[DRIVE_ID_PATH_MAX]; snprintf(tmp_node, DRIVE_ID_PATH_MAX, "/dev/.drive_id-%u-%u-%u", getpid(), major(devt), minor(devt)); tmp_node[DRIVE_ID_PATH_MAX] = '\0'; Clearly broken code. tmp_node[DRIVE_ID_PATH_MAX] doesn't exist. Suggest tmp_node[DRIVE_ID_PATH_MAX - 1] = '\0'; Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Fixed in 0.5.8.1 as volume_id is no longer part of hal (it comes from the udev srpm).