从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 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行删除 - 上下文:修复了ab11dac93d2d ("dev/parport: fix the array out-of-bounds risk")问题。 4. 修复者: - 作者:Takashi Iwai - 提交者:Greg Kroah-Hartman 5. 修复原因: - 原因:snprintf()返回的是将要打印的大小,而不是实际的输出大小,长度计算可能会超过给定的限制。 6. 修复影响: - 修复了:ab11dac93d2d ("dev/parport: fix the array out-of-bounds risk")问题。 7. 修复状态: - 状态:已修复,上游已接受。 通过这些信息,我们可以了解到这个修复是为了解决数组越界访问问题,通过替换snprintf()为scnprintf()来确保长度计算的正确性,从而防止潜在的越界访问漏洞。