cifs: fix error handling in parse_DFS_referrals
cifs_strndup_from_ucs returns NULL on error, not an ERR_PTR Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
45d447406a
commit
d8e2f53ac9
@ -3976,9 +3976,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
|
|||||||
max_len = data_end - temp;
|
max_len = data_end - temp;
|
||||||
node->path_name = cifs_strndup_from_ucs(temp, max_len,
|
node->path_name = cifs_strndup_from_ucs(temp, max_len,
|
||||||
is_unicode, nls_codepage);
|
is_unicode, nls_codepage);
|
||||||
if (IS_ERR(node->path_name)) {
|
if (!node->path_name) {
|
||||||
rc = PTR_ERR(node->path_name);
|
rc = -ENOMEM;
|
||||||
node->path_name = NULL;
|
|
||||||
goto parse_DFS_referrals_exit;
|
goto parse_DFS_referrals_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3987,11 +3986,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
|
|||||||
max_len = data_end - temp;
|
max_len = data_end - temp;
|
||||||
node->node_name = cifs_strndup_from_ucs(temp, max_len,
|
node->node_name = cifs_strndup_from_ucs(temp, max_len,
|
||||||
is_unicode, nls_codepage);
|
is_unicode, nls_codepage);
|
||||||
if (IS_ERR(node->node_name)) {
|
if (!node->node_name)
|
||||||
rc = PTR_ERR(node->node_name);
|
rc = -ENOMEM;
|
||||||
node->node_name = NULL;
|
|
||||||
goto parse_DFS_referrals_exit;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
parse_DFS_referrals_exit:
|
parse_DFS_referrals_exit:
|
||||||
|
Loading…
Reference in New Issue
Block a user