From 06092d1f96354d75f91d2acd04c0c1232f2b9eec Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Thu, 11 Jun 2020 16:12:40 +0200 Subject: [PATCH] tools/xenstore: simplify and rename check_event_node() There is no path which allows to call check_event_node() without a event name. So don't let the result depend on the name being NULL and add an assert() covering that case. Rename the function to check_special_event() to better match the semantics. This is part of XSA-115. Signed-off-by: Juergen Gross Reviewed-by: Julien Grall Reviewed-by: Paul Durrant --- tools/xenstore/xenstored_watch.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c index 0dc5a40b99..458062856e 100644 --- a/tools/xenstore/xenstored_watch.c +++ b/tools/xenstore/xenstored_watch.c @@ -47,13 +47,11 @@ struct watch char *node; }; -static bool check_event_node(const char *node) +static bool check_special_event(const char *name) { - if (!node || !strstarts(node, "@")) { - errno = EINVAL; - return false; - } - return true; + assert(name); + + return strstarts(name, "@"); } /* Is child a subnode of parent, or equal? */ @@ -87,7 +85,7 @@ static void add_event(struct connection *conn, unsigned int len; char *data; - if (!check_event_node(name)) { + if (!check_special_event(name)) { /* Can this conn load node, or see that it doesn't exist? */ struct node *node = get_node(conn, ctx, name, XS_PERM_READ); /* -- 2.39.5