From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx> If tracecmd_msg_data_send() is passed a size of zero, the loop is not entered, nothing is sent, but the ret variable is not initialized and garbage can be sent out. The option code can call this with a size of zero, which can cause an error report. Just don't do anything in this case, and return a success. Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> --- tracecmd/trace-msg.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tracecmd/trace-msg.c b/tracecmd/trace-msg.c index 51d0ac8b..382bd766 100644 --- a/tracecmd/trace-msg.c +++ b/tracecmd/trace-msg.c @@ -590,6 +590,10 @@ int tracecmd_msg_data_send(struct tracecmd_msg_handle *msg_handle, int ret; int count = 0; + /* Don't bother doing anything if there's nothing to do */ + if (!size) + return 0; + tracecmd_msg_init(MSG_SEND_DATA, &msg); msg.buf = malloc(MSG_MAX_DATA_LEN); -- 2.20.1
![]() |