Re: [PATCH 4/12] random pt4: Cleanup SHA interface

From: Matt Mackall
Date: Tue Jan 25 2005 - 16:15:44 EST


On Tue, Jan 25, 2005 at 10:49:01PM +0200, Denis Vlasenko wrote:
> On Friday 21 January 2005 23:41, Matt Mackall wrote:
> > +static void sha_transform(__u32 digest[5], const char *data, __u32 W[80])
> > {
> > - __u32 A, B, C, D, E; /* Local vars */
> > + __u32 A, B, C, D, E;
> > __u32 TEMP;
> > int i;
> > -#define W (digest + HASH_BUFFER_SIZE) /* Expanded data array */
> >
> > + memset(W, 0, sizeof(W));
>
> Hmm..... Parameter decays into pointer, sizeof(W) != 80*4. See:

Good spotting.

> In light of this, if your sha1 passed regression tests,
> I conclude that we don't need that memset at all.

Indeed, I noticed it was superfluous when I was benchmarking it. The
entire function is replaced a couple patches later.

--
Mathematics is the supreme nostalgia of our time.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/