从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:parport: Proper fix for array out-of-bounds access - 描述:最近的修复为数组越界访问替换为snprintf()。然而,snprintf()返回的是将要打印的大小,而不是实际的输出大小,长度计算可能会超过给定的限制。使用scnprintf()代替snprintf(),返回实际输出的字母,以正确解决潜在的越界访问问题。 2. 修复内容: - 文件:drivers/parport/procfs.c - 修改内容: - 替换snprintf()为scnprintf(),以正确处理数组越界访问。 - 修改了do_active_device()、do_autoprobe()、do_hardware_base_addr()、do_hardware_irq()和do_hardware_dma()函数中的snprintf()调用,替换为scnprintf()。 3. 修复细节: - 文件位置:drivers/parport/procfs.c - 修改行数:11行修改,11行删除。 - 修改内容:主要修改了snprintf()调用,替换为scnprintf(),以正确处理数组越界访问。 4. 修复原因: - 问题描述:最近的修复为数组越界访问替换为snprintf(),但snprintf()返回的是将要打印的大小,而不是实际的输出大小,长度计算可能会超过给定的限制。 - 修复目标:使用scnprintf()代替snprintf(),返回实际输出的字母,以正确解决潜在的越界访问问题。 5. 修复影响: - 修复范围:影响了do_active_device()、do_autoprobe()、do_hardware_base_addr()、do_hardware_irq()和do_hardware_dma()函数。 6. 修复作者: - 作者:Takashi Iwai - 贡献者:Greg Kroah-Hartman 7. 修复状态: - 状态:已修复,上游版本为02ac3a9ef3a18b58d8f3ea2b6e46de657bf6c4f9。 通过这些信息,我们可以了解这个修复是如何解决数组越界访问问题的,以及它影响了哪些函数和代码行。