2009-12-09 19:23:09

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 3/12] crypto: Correct size given to memset

From: Julia Lawall <[email protected]>

Memset should be given the size of the structure, not the size of the pointer.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

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

memset(x, E, sizeof(
+ *
x))
// </smpl>

Signed-off-by: Julia Lawall <[email protected]>

---
crypto/gf128mul.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff -u -p a/crypto/gf128mul.c b/crypto/gf128mul.c
--- a/crypto/gf128mul.c
+++ b/crypto/gf128mul.c
@@ -182,7 +182,7 @@ void gf128mul_lle(be128 *r, const be128
for (i = 0; i < 7; ++i)
gf128mul_x_lle(&p[i + 1], &p[i]);

- memset(r, 0, sizeof(r));
+ memset(r, 0, sizeof(*r));
for (i = 0;;) {
u8 ch = ((u8 *)b)[15 - i];

@@ -220,7 +220,7 @@ void gf128mul_bbe(be128 *r, const be128
for (i = 0; i < 7; ++i)
gf128mul_x_bbe(&p[i + 1], &p[i]);

- memset(r, 0, sizeof(r));
+ memset(r, 0, sizeof(*r));
for (i = 0;;) {
u8 ch = ((u8 *)b)[i];



2009-12-11 15:09:17

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH 3/12] crypto: Correct size given to memset

On Wed, Dec 09, 2009 at 08:23:09PM +0100, Julia Lawall wrote:
> From: Julia Lawall <[email protected]>
>
> Memset should be given the size of the structure, not the size of the pointer.
>
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @@
> type T;
> T *x;
> expression E;
> @@
>
> memset(x, E, sizeof(
> + *
> x))
> // </smpl>
>
> Signed-off-by: Julia Lawall <[email protected]>

Luckily these functions aren't used by anything. Perhaps we
should get rid of them altogether.

Anyway, I've applied your patch. Thanks!
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]na.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt