]> xenbits.xensource.com Git - people/liuw/mini-os.git/commitdiff
mini-os: handle possibly overlong _nodename in init_consfront
authorMatthew Daley <mattjd@gmail.com>
Tue, 10 Sep 2013 14:34:20 +0000 (02:34 +1200)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 13 Sep 2013 12:15:02 +0000 (13:15 +0100)
The only current user that passes a non-NULL _nodename limits it to 64
bytes anyway.

Coverity-ID: 1054993
Signed-off-by: Matthew Daley <mattjd@gmail.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
console/xenbus.c

index 23d4d32aea9fd4b10b0117c23b6ce9b3bb02410f..41949824af40aa13317a3e46c337a64a69fd82e0 100644 (file)
@@ -70,8 +70,10 @@ struct consfront_dev *init_consfront(char *_nodename)
 
     if (!_nodename)
         snprintf(nodename, sizeof(nodename), "device/console/%d", consfrontends);
-    else
-        strncpy(nodename, _nodename, sizeof(nodename));
+    else {
+        strncpy(nodename, _nodename, sizeof(nodename) - 1);
+        nodename[sizeof(nodename) - 1] = 0;
+    }
 
     printk("******************* CONSFRONT for %s **********\n\n\n", nodename);