tools/xenstored: Avoid unnecessary talloc_strdup() in do_control_lu()

At the moment, the return of talloc_strdup() is not checked. This means
we may dereference a NULL pointer if the allocation failed.

However, it is pointless to allocate the memory as send_reply() will
copy the data to a different buffer. So drop the use of talloc_strdup().

This bug was discovered and resolved using Coverity Static Analysis
Security Testing (SAST) by Synopsys, Inc.

Fixes: fecab256d4 ("tools/xenstore: add basic live-update command parsing")
Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
This commit is contained in:
Julien Grall committed 2021-02-26 09:45:41 +00:00
1 parent 68b92ee7fe
commit 2fc7939e26
1 file changed
+1 -3
+1 -3
View File
@@ -691,7 +691,6 @@ static const char *lu_start(const void *ctx, struct connection *conn,
static int do_control_lu(void *ctx, struct connection *conn,
char **vec, int num)
{
const char *resp;
const char *ret = NULL;
unsigned int i;
bool force = false;
@@ -734,8 +733,7 @@ static int do_control_lu(void *ctx, struct connection *conn,
if (!ret)
ret = "OK";
resp = talloc_strdup(ctx, ret);
send_reply(conn, XS_CONTROL, resp, strlen(resp) + 1);
send_reply(conn, XS_CONTROL, ret, strlen(ret) + 1);
return 0;
}
#endif
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.