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 <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Paul Durrant <paul@xen.org>
This commit is contained in:
Juergen Gross authored and Jan Beulich committed 2020-12-15 13:34:42 +01:00
1 parent 0bfb2101f2
commit d3f8c086d2
1 file changed
+5 -7
+5 -7
View File
@@ -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);
/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.