aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
Diffstat (limited to 'extras')
-rw-r--r--extras/mini-os/blkfront.c2
-rw-r--r--extras/mini-os/console/xenbus.c2
-rw-r--r--extras/mini-os/fbfront.c10
-rw-r--r--extras/mini-os/netfront.c2
-rw-r--r--extras/mini-os/pcifront.c7
5 files changed, 13 insertions, 10 deletions
diff --git a/extras/mini-os/blkfront.c b/extras/mini-os/blkfront.c
index f4283a9578..70976f58d0 100644
--- a/extras/mini-os/blkfront.c
+++ b/extras/mini-os/blkfront.c
@@ -254,7 +254,7 @@ void shutdown_blkfront(struct blkfront_dev *dev)
XenbusState state;
char path[strlen(dev->backend) + 1 + 5 + 1];
- char nodename[strlen(dev->nodename) + 1 + 5 + 1];
+ char nodename[strlen(dev->nodename) + strlen("/event-channel") + 1];
blkfront_sync(dev);
diff --git a/extras/mini-os/console/xenbus.c b/extras/mini-os/console/xenbus.c
index e65baf75a9..1ecfcc542e 100644
--- a/extras/mini-os/console/xenbus.c
+++ b/extras/mini-os/console/xenbus.c
@@ -158,7 +158,7 @@ done:
{
XenbusState state;
- char path[strlen(dev->backend) + 1 + 19 + 1];
+ char path[strlen(dev->backend) + strlen("/state") + 1];
snprintf(path, sizeof(path), "%s/state", dev->backend);
xenbus_watch_path_token(XBT_NIL, path, path, &dev->events);
diff --git a/extras/mini-os/fbfront.c b/extras/mini-os/fbfront.c
index 54a5e67f6c..6eddb3cca3 100644
--- a/extras/mini-os/fbfront.c
+++ b/extras/mini-os/fbfront.c
@@ -158,8 +158,8 @@ done:
{
XenbusState state;
- char path[strlen(dev->backend) + 1 + 6 + 1];
- char frontpath[strlen(nodename) + 1 + 6 + 1];
+ char path[strlen(dev->backend) + strlen("/state") + 1];
+ char frontpath[strlen(nodename) + strlen("/state") + 1];
snprintf(path, sizeof(path), "%s/state", dev->backend);
@@ -240,7 +240,7 @@ void shutdown_kbdfront(struct kbdfront_dev *dev)
XenbusState state;
char path[strlen(dev->backend) + 1 + 5 + 1];
- char nodename[strlen(dev->nodename) + 1 + 5 + 1];
+ char nodename[strlen(dev->nodename) + strlen("/request-abs-pointer") + 1];
printk("close kbd: backend at %s\n",dev->backend);
@@ -521,7 +521,7 @@ done:
{
XenbusState state;
char path[strlen(dev->backend) + 1 + 14 + 1];
- char frontpath[strlen(nodename) + 1 + 6 + 1];
+ char frontpath[strlen(nodename) + strlen("/state") + 1];
snprintf(path, sizeof(path), "%s/state", dev->backend);
@@ -632,7 +632,7 @@ void shutdown_fbfront(struct fbfront_dev *dev)
XenbusState state;
char path[strlen(dev->backend) + 1 + 5 + 1];
- char nodename[strlen(dev->nodename) + 1 + 5 + 1];
+ char nodename[strlen(dev->nodename) + strlen("/feature-update") + 1];
printk("close fb: backend at %s\n",dev->backend);
diff --git a/extras/mini-os/netfront.c b/extras/mini-os/netfront.c
index 6fa68a2d97..ddf56ea7a1 100644
--- a/extras/mini-os/netfront.c
+++ b/extras/mini-os/netfront.c
@@ -508,7 +508,7 @@ void shutdown_netfront(struct netfront_dev *dev)
XenbusState state;
char path[strlen(dev->backend) + 1 + 5 + 1];
- char nodename[strlen(dev->nodename) + 1 + 5 + 1];
+ char nodename[strlen(dev->nodename) + strlen("/request-rx-copy") + 1];
printk("close network: backend at %s\n",dev->backend);
diff --git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c
index bbe21e0ae8..f9ae768170 100644
--- a/extras/mini-os/pcifront.c
+++ b/extras/mini-os/pcifront.c
@@ -323,7 +323,7 @@ void shutdown_pcifront(struct pcifront_dev *dev)
XenbusState state;
char path[strlen(dev->backend) + 1 + 5 + 1];
- char nodename[strlen(dev->nodename) + 1 + 5 + 1];
+ char nodename[strlen(dev->nodename) + strlen("/event-channel") + 1];
printk("close pci: backend at %s\n",dev->backend);
@@ -379,7 +379,10 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev,
unsigned int *slot,
unsigned long *fun)
{
- char path[strlen(dev->backend) + 1 + 5 + 10 + 1];
+ /* FIXME: the buffer sizing is a little lazy here. 10 extra bytes
+ should be enough to hold the paths we need to construct, even
+ if the number of devices is large */
+ char path[strlen(dev->backend) + strlen("/num_devs") + 10 + 1];
int i, n;
char *s, *msg = NULL;
unsigned int dom1, bus1, slot1, fun1;