iscsi-target: Convert chap_server_compute_md5 to use kstrtoul
This patch converts chap_server_compute_md5() from simple_strtoul() to kstrtoul usage(). This addresses the case where a empty 'CHAP_I=' key value received during mutual authentication would be converted to a '0' by simple_strtoul(), instead of failing the login attempt. Reported-by: Tejas Vaykole <tejas.vaykole@calsoftinc.com> Tested-by: Tejas Vaykole <tejas.vaykole@calsoftinc.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
a497c3ba1d
commit
b06eef6eab
|
@ -174,7 +174,6 @@ static int chap_server_compute_md5(
|
|||
char *nr_out_ptr,
|
||||
unsigned int *nr_out_len)
|
||||
{
|
||||
char *endptr;
|
||||
unsigned long id;
|
||||
unsigned char id_as_uchar;
|
||||
unsigned char digest[MD5_SIGNATURE_SIZE];
|
||||
|
@ -320,9 +319,14 @@ static int chap_server_compute_md5(
|
|||
}
|
||||
|
||||
if (type == HEX)
|
||||
id = simple_strtoul(&identifier[2], &endptr, 0);
|
||||
ret = kstrtoul(&identifier[2], 0, &id);
|
||||
else
|
||||
id = simple_strtoul(identifier, &endptr, 0);
|
||||
ret = kstrtoul(identifier, 0, &id);
|
||||
|
||||
if (ret < 0) {
|
||||
pr_err("kstrtoul() failed for CHAP identifier: %d\n", ret);
|
||||
goto out;
|
||||
}
|
||||
if (id > 255) {
|
||||
pr_err("chap identifier: %lu greater than 255\n", id);
|
||||
goto out;
|
||||
|
|
Loading…
Reference in New Issue