On Tue, Jun 10, 2008 at 9:49 PM, Denys Vlasenko
<[EMAIL PROTECTED]> wrote:
> Hi Bernd, Carmelo,
>
> Can you look through this patch?
>
> It makes sp, ep and p variables automatic.
> There is no point in having them static,
> they never use their values retained from previous call.
> These are code lines where they are assigned to:
This looks like it should be safe. Although it might be worth finding
the original author and asking why it is done this way, following the
Debian openssl incident. ;-)
> char *__md5_crypt(const unsigned char *pw, const unsigned char *salt)
> {
> ...
> /* Refine the Salt first */
> sp = salt;
> ...
> /* It stops at the first '$', max 8 chars */
> for(ep=sp;*ep && *ep != '$' && ep < (sp+8);ep++)
> continue;
> ...
> ...
> p = passwd + strlen(passwd);
>
> and prior to these lines, their values were never used.
>
>
> The second, much simpler change replaces
> __md5__magic_len = strlen(__md5__magic);
> and related code by compile-time constant.
Does this have any effect? I would have expected the compiler to
optimize that away.
> Effect on size:
>
> --- uClibc.t4/libcrypt/md5.o.disasm Tue Jun 10 22:41:17 2008
> +++ uClibc.t5/libcrypt/md5.o.disasm Tue Jun 10 22:41:17 2008
> @@ -1,5 +1,5 @@
> text data bss dec hex filename
> - 1957 0 132 2089 829 libcrypt/md5.o
> + 1905 0 120 2025 7e9 libcrypt/md5.o
>
>
> --
> vda
>
> _______________________________________________
> uClibc mailing list
> [email protected]
> http://busybox.net/cgi-bin/mailman/listinfo/uclibc
>
_______________________________________________
uClibc mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/uclibc