nfsd: remove private bin2hex implementation
Calling sprintf in a loop is not very efficient, and in any case, we already have an implementation of bin-to-hex conversion in lib/ which we might as well use. Note that original code used to nul-terminate the destination while bin2hex doesn't. That's why replace kmalloc() with kzalloc(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
Родитель
6e73e92b15
Коммит
12b4157b7d
|
@ -1850,19 +1850,14 @@ nfsd4_umh_cltrack_upcall(char *cmd, char *arg, char *env0, char *env1)
|
|||
static char *
|
||||
bin_to_hex_dup(const unsigned char *src, int srclen)
|
||||
{
|
||||
int i;
|
||||
char *buf, *hex;
|
||||
char *buf;
|
||||
|
||||
/* +1 for terminating NULL */
|
||||
buf = kmalloc((srclen * 2) + 1, GFP_KERNEL);
|
||||
buf = kzalloc((srclen * 2) + 1, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return buf;
|
||||
|
||||
hex = buf;
|
||||
for (i = 0; i < srclen; i++) {
|
||||
sprintf(hex, "%2.2x", *src++);
|
||||
hex += 2;
|
||||
}
|
||||
bin2hex(buf, src, srclen);
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче