提交 94de803d 编写于 作者: J Julia Lawall 提交者: David S. Miller

drivers/net/sfc: Correct code taking the size of a pointer

The function efx_iterate_state contains the code
memcpy(&payload->msg, payload_msg, sizeof(payload_msg));
This is the only use of payload_msg.  The type of payload_msg is
changed from a pointer to an array, so that the result of sizeof really is
the length of the string.

A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression *x;
expression f;
type T;
@@

*f(...,(T)x,...)
// </smpl>
Signed-off-by: NJulia Lawall <julia@diku.dk>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 710708e8
...@@ -47,7 +47,7 @@ static const unsigned char payload_source[ETH_ALEN] = { ...@@ -47,7 +47,7 @@ static const unsigned char payload_source[ETH_ALEN] = {
0x00, 0x0f, 0x53, 0x1b, 0x1b, 0x1b, 0x00, 0x0f, 0x53, 0x1b, 0x1b, 0x1b,
}; };
static const char *payload_msg = static const char payload_msg[] =
"Hello world! This is an Efx loopback test in progress!"; "Hello world! This is an Efx loopback test in progress!";
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册