Эх сурвалжийг харах

Xen: properly bound buffer access when parsing cpu/*/availability

At the same time reduce the local buffers to 16 bytes each.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Jan Beulich 12 жил өмнө
parent
commit
e5c702d3b2

+ 2 - 2
drivers/xen/cpu_hotplug.c

@@ -25,10 +25,10 @@ static void disable_hotplug_cpu(int cpu)
 static int vcpu_online(unsigned int cpu)
 static int vcpu_online(unsigned int cpu)
 {
 {
 	int err;
 	int err;
-	char dir[32], state[32];
+	char dir[16], state[16];
 
 
 	sprintf(dir, "cpu/%u", cpu);
 	sprintf(dir, "cpu/%u", cpu);
-	err = xenbus_scanf(XBT_NIL, dir, "availability", "%s", state);
+	err = xenbus_scanf(XBT_NIL, dir, "availability", "%15s", state);
 	if (err != 1) {
 	if (err != 1) {
 		if (!xen_initial_domain())
 		if (!xen_initial_domain())
 			printk(KERN_ERR "XENBUS: Unable to read cpu state\n");
 			printk(KERN_ERR "XENBUS: Unable to read cpu state\n");