In the out of memory case, we might return a NULL pointer when
canonicalizing node names. This NULL pointer is not checked when
creating a directory, or when removing a node. This change handles
the NULL pointer for these two cases.
This bug was discovered and resolved using Coverity Static Analysis
Security Testing (SAST) by Synopsys, Inc.
Signed-off-by: Norbert Manthey <nmanthey@amazon.de>
Reviewed-by: Thomas Friebel <friebelt@amazon.de>
Reviewed-by: Julien Grall <jgrall@amazon.co.uk>
Reviewed-by: Juergen Gross <jgross@suse.com>
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
/* No permissions? */
if (errno != ENOENT)
return errno;
+ if (!name)
+ return ENOMEM;
node = create_node(conn, in, name, NULL, 0);
if (!node)
return errno;
if (!node) {
/* Didn't exist already? Fine, if parent exists. */
if (errno == ENOENT) {
+ if (!name)
+ return ENOMEM;
parentname = get_parent(in, name);
if (!parentname)
return errno;