mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/xenstored: Avoid unnecessary talloc_strdup() in do_lu_start()
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: af216a99fb ("tools/xenstore: add the basic framework for doing the live update")
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:
1 parent
2fc7939e26
commit
702b44be43
1 file changed
+1
-3
@@ -638,7 +638,6 @@ static bool do_lu_start(struct delayed_request *req)
|
||||
{
|
||||
time_t now = time(NULL);
|
||||
const char *ret;
|
||||
char *resp;
|
||||
|
||||
if (!lu_check_lu_allowed()) {
|
||||
if (now < lu_status->started_at + lu_status->timeout)
|
||||
@@ -660,8 +659,7 @@ static bool do_lu_start(struct delayed_request *req)
|
||||
out:
|
||||
talloc_free(lu_status);
|
||||
|
||||
resp = talloc_strdup(req->in, ret);
|
||||
send_reply(lu_status->conn, XS_CONTROL, resp, strlen(resp) + 1);
|
||||
send_reply(lu_status->conn, XS_CONTROL, ret, strlen(ret) + 1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||