diff mbox series

mcookie: correct wrong memset argument

Message ID 20180110220303.27944-1-peter@korsgaard.com
State Accepted
Commit 40f4191f2a1246b792ffc0c02b6c9bd2d62649f2
Headers show
Series mcookie: correct wrong memset argument | expand

Commit Message

Peter Korsgaard Jan. 10, 2018, 10:03 p.m. UTC
Fixes #10216

Building mcookie generates a warning about possible wrong arguments to
memset:

mcookie.c:207:26: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression
  as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
     memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */

ctx is a pointer to a structure, so the code should use the size of the
structure and not the size of the pointer when it tries to clear the
structure, similar to how it got fixed upstream back in 2009:

https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/lib/md5.c?id=6596057175c6ed342dc20e85eae8a42eb29b629f

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 package/x11r7/mcookie/mcookie.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Korsgaard Jan. 12, 2018, 6:57 p.m. UTC | #1
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

 > Fixes #10216
 > Building mcookie generates a warning about possible wrong arguments to
 > memset:

 > mcookie.c:207:26: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression
 >   as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
 >      memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */

 > ctx is a pointer to a structure, so the code should use the size of the
 > structure and not the size of the pointer when it tries to clear the
 > structure, similar to how it got fixed upstream back in 2009:

 > https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/lib/md5.c?id=6596057175c6ed342dc20e85eae8a42eb29b629f

 > Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

Committed, thanks.
Peter Korsgaard Jan. 16, 2018, 7:39 p.m. UTC | #2
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

 > Fixes #10216
 > Building mcookie generates a warning about possible wrong arguments to
 > memset:

 > mcookie.c:207:26: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression
 >   as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
 >      memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */

 > ctx is a pointer to a structure, so the code should use the size of the
 > structure and not the size of the pointer when it tries to clear the
 > structure, similar to how it got fixed upstream back in 2009:

 > https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/lib/md5.c?id=6596057175c6ed342dc20e85eae8a42eb29b629f

 > Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

Committed to 2017.11.x, thanks.
Peter Korsgaard Jan. 30, 2018, 10:49 p.m. UTC | #3
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

 > Fixes #10216
 > Building mcookie generates a warning about possible wrong arguments to
 > memset:

 > mcookie.c:207:26: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression
 >   as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
 >      memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */

 > ctx is a pointer to a structure, so the code should use the size of the
 > structure and not the size of the pointer when it tries to clear the
 > structure, similar to how it got fixed upstream back in 2009:

 > https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/lib/md5.c?id=6596057175c6ed342dc20e85eae8a42eb29b629f

 > Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

Committed to 2017.02.x, thanks.
diff mbox series

Patch

diff --git a/package/x11r7/mcookie/mcookie.c b/package/x11r7/mcookie/mcookie.c
index 902d92fc47..3c38f6f3b3 100644
--- a/package/x11r7/mcookie/mcookie.c
+++ b/package/x11r7/mcookie/mcookie.c
@@ -204,7 +204,7 @@  void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
     MD5Transform(ctx->buf, (uint32 *) ctx->in);
     byteReverse((unsigned char *) ctx->buf, 4);
     memcpy(digest, ctx->buf, 16);
-    memset(ctx, 0, sizeof(ctx));	/* In case it's sensitive */
+    memset(ctx, 0, sizeof(*ctx));	/* In case it's sensitive */
 }
 
 /* The four core functions - F1 is optimized somewhat */