lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 13 Feb 2018 08:16:57 +0100 From: Rasmus Villemoes <linux@...musvillemoes.dk> To: Shunyong Yang <shunyong.yang@...-semitech.com> Cc: me@...in.cc, linux-kernel@...r.kernel.org, Andy Shevchenko <andriy.shevchenko@...ux.intel.com>, Joey Zheng <yu.zheng@...-semitech.com> Subject: Re: [PATCH] vsprintf: replace space with readable '=' before crng is ready On 13 February 2018 at 07:20, Shunyong Yang <shunyong.yang@...-semitech.com> wrote: > > This patch replaces space with readable "=" when output needs padding. > Following is the output after applying the patch, > Suggested-by: Rasmus Villemoes <linux@...musvillemoes.dk> > > if (unlikely(!have_filled_random_ptr_key)) { > + char *ptrval_str = "(ptrval)"; > + char str[default_width + 1]; > + int len = strlen(ptrval_str); > + > + if (default_width > len) { > + int pos; > + > + pos = (default_width - len) / 2; > + memset(str, '=', default_width); > + memcpy(str + pos + 1, ptrval_str + 1, len - 2); > + str[0] = '('; > + str[default_width - 1] = ')'; > + str[default_width] = 0; > + ptrval_str = str; > + } > + I'm sorry, but that's way too convoluted. > spec.field_width = default_width; > /* string length must be less than default_width */ > - return string(buf, end, "(ptrval)", spec); > + return string(buf, end, ptrval_str, spec); > } I was thinking of just doing something like - return string(buf, end, "(ptrval)", spec); + return string(buf, end, sizeof(void *) == 8 ? "(====ptrval====)" : "(ptrval)", spec); Rasmus
Powered by blists - more mailing lists