Fossil

Check-in [ed005e30]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix a faulty (but harmless) initialization in the MD5 code.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ed005e302de418dd20a3b86ced7f103347422a1c
User & Date: drh 2012-07-27 00:00:45.741
Context
2012-07-27
00:26
Fix another faulty though harmless memset() initialization. ... (check-in: 336e1355 user: drh tags: trunk)
00:00
Fix a faulty (but harmless) initialization in the MD5 code. ... (check-in: ed005e30 user: drh tags: trunk)
2012-07-26
17:27
Removed legacy comparison of uint<0 (the type used to be 'long', IIRC). Thanks to Doug C. for the report. ... (check-in: bff50b17 user: stephan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/md5.c.
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
        /* Append length in bits and transform */
        ((uint32 *)ctx->in)[ 14 ] = ctx->bits[0];
        ((uint32 *)ctx->in)[ 15 ] = ctx->bits[1];

        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 */
}

/*
** Convert a digest into base-16.  digest should be declared as
** "unsigned char digest[16]" in the calling function.  The MD5
** digest is stored in the first 16 bytes.  zBuf should
** be "char zBuf[33]".







|







262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
        /* Append length in bits and transform */
        ((uint32 *)ctx->in)[ 14 ] = ctx->bits[0];
        ((uint32 *)ctx->in)[ 15 ] = ctx->bits[1];

        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 */
}

/*
** Convert a digest into base-16.  digest should be declared as
** "unsigned char digest[16]" in the calling function.  The MD5
** digest is stored in the first 16 bytes.  zBuf should
** be "char zBuf[33]".