aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorMatthew Daley <mattjd@gmail.com>2013-09-11 02:34:20 +1200
committerIan Campbell <ian.campbell@citrix.com>2013-09-13 13:15:02 +0100
commit6425b20c0f10eff1843807f83d9cc0895bf91082 (patch)
tree5c93b33d1e5a895abedd717ffbe4a57acd195b74 /extras
parent72b9c3e88c1cd205b39b178ce5e684868a1117c2 (diff)
downloadxen-6425b20c0f10eff1843807f83d9cc0895bf91082.tar.gz
xen-6425b20c0f10eff1843807f83d9cc0895bf91082.tar.bz2
xen-6425b20c0f10eff1843807f83d9cc0895bf91082.zip
mini-os: handle possibly overlong _nodename in init_consfront
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>
Diffstat (limited to 'extras')
-rw-r--r--extras/mini-os/console/xenbus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/extras/mini-os/console/xenbus.c b/extras/mini-os/console/xenbus.c
index 23d4d32aea..41949824af 100644
--- a/extras/mini-os/console/xenbus.c
+++ b/extras/mini-os/console/xenbus.c
@@ -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);