projects/linux·commit a43a5ccd

xenbus_dev: add missing error check to watch handling

a43a5ccd · Jan Beulich <[email protected]> · 2012-01-24 13:52:42 +00:00

So far only the watch path was checked to be zero terminated, while
the watch token was merely assumed to be.

Signed-off-by: Jan Beulich <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
Commit
a43a5ccdfa5bd5b2f00aa9b2321df268c2e5d6e2
Parents
e4de866a

Changes

1 files changed · +4 −0

FileStatusAddDelContent
drivers/xen/xenbus/xenbus_dev_frontend.cmodified+4−0View file

drivers/xen/xenbus/xenbus_dev_frontend.c

View file
diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
index 527dc2a..89f7625 100644
--- a/drivers/xen/xenbus/xenbus_dev_frontend.c
+++ b/drivers/xen/xenbus/xenbus_dev_frontend.c
@@ -369,6 +369,10 @@ static int xenbus_write_watch(unsigned msg_type, struct xenbus_file_priv *u)
goto out;
}
token++;
+ if (memchr(token, 0, u->u.msg.len - (token - path)) == NULL) {
+ rc = -EILSEQ;
+ goto out;
+ }
if (msg_type == XS_WATCH) {
watch = alloc_watch_adapter(path, token);