浏览代码

x86/cpu: Fix overrun check in arch_print_cpu_modalias()

snprintf() does not return a negative value when truncating.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Thomas Renninger <trenn@suse.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ben Hutchings 13 年之前
父节点
当前提交
70142a9dd1
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      arch/x86/kernel/cpu/match.c

+ 1 - 1
arch/x86/kernel/cpu/match.c

@@ -67,7 +67,7 @@ ssize_t arch_print_cpu_modalias(struct device *dev,
 	for (i = 0; i < NCAPINTS*32; i++) {
 	for (i = 0; i < NCAPINTS*32; i++) {
 		if (boot_cpu_has(i)) {
 		if (boot_cpu_has(i)) {
 			n = snprintf(buf, size, ",%04X", i);
 			n = snprintf(buf, size, ",%04X", i);
-			if (n < 0) {
+			if (n >= size) {
 				WARN(1, "x86 features overflow page\n");
 				WARN(1, "x86 features overflow page\n");
 				break;
 				break;
 			}
 			}