aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlavomir Kaslev <kaslevs@vmware.com>2019-03-22 18:26:35 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-03-22 15:14:11 -0400
commit5276e834fa5eb3bc7f4b2e92114a151a2a1efdc6 (patch)
tree47d62569c25e7c206eda7cfe6183314443a8989c
parent5b95455cc170429ecedded8b62c51e4d4a50bc0e (diff)
downloadtrace-cmd-5276e834fa5eb3bc7f4b2e92114a151a2a1efdc6.tar.gz
trace-cmd: Change tracecmd_msg's buf member type to char *
Now that all protocol V3 messages (besides SEND_DATA) use the buffer for text, it makes sense to have it declared as such and drop a few casts. This also takes care of undefined behavior caused by void pointer arithmetic in tracecmd_msg_data_send()/tracecmd_msg_read_data(). Link: http://lore.kernel.org/linux-trace-devel/20190322162635.30689-1-kaslevs@vmware.com Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--tracecmd/trace-msg.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/tracecmd/trace-msg.c b/tracecmd/trace-msg.c
index 8c1c2bfc..e2dd1881 100644
--- a/tracecmd/trace-msg.c
+++ b/tracecmd/trace-msg.c
@@ -104,7 +104,7 @@ struct tracecmd_msg {
struct tracecmd_msg_tinit tinit;
struct tracecmd_msg_rinit rinit;
};
- void *buf;
+ char *buf;
} __attribute__((packed));
static inline int msg_buf_len(struct tracecmd_msg *msg)
@@ -436,7 +436,7 @@ int tracecmd_msg_send_init_data(struct tracecmd_msg_handle *msg_handle,
goto error;
}
- if (((char *)msg.buf)[buf_len-1] != '\0') {
+ if (msg.buf[buf_len-1] != '\0') {
ret = -EINVAL;
goto error;
}
@@ -448,7 +448,7 @@ int tracecmd_msg_send_init_data(struct tracecmd_msg_handle *msg_handle,
goto out;
}
- buf_end = (char *)msg.buf + buf_len;
+ buf_end = msg.buf + buf_len;
for (i = 0, p = msg.buf; i < cpus; i++, p++) {
if (p >= buf_end) {
free(ports);
@@ -555,12 +555,12 @@ int tracecmd_msg_initial_setting(struct tracecmd_msg_handle *msg_handle)
if (buf_len == 0)
goto no_options;
- if (((char *)msg.buf)[buf_len-1] != '\0') {
+ if (msg.buf[buf_len-1] != '\0') {
ret = -EINVAL;
goto error;
}
- buf_end = (char *)msg.buf + buf_len;
+ buf_end = msg.buf + buf_len;
options = ntohl(msg.tinit.opt_num);
for (i = 0, p = msg.buf; i < options; i++, p++) {
if (p >= buf_end) {