aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2009-05-14 07:46:59 -0400
committerSteve French <sfrench@us.ibm.com>2009-05-14 09:55:32 -0400
commitd8e2f53ac99f4ce7d63807a84f98d1b80df598cf (patch)
tree2b956d4bf048e9b72b99a84f589baedbdf6f757c
parent45d447406a19cbfd42720f066f156f4eb9d68801 (diff)
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>
-rw-r--r--fs/cifs/cifssmb.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index 75e6623a8635..5759ba53dc96 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -3976,9 +3976,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
3976 max_len = data_end - temp; 3976 max_len = data_end - temp;
3977 node->path_name = cifs_strndup_from_ucs(temp, max_len, 3977 node->path_name = cifs_strndup_from_ucs(temp, max_len,
3978 is_unicode, nls_codepage); 3978 is_unicode, nls_codepage);
3979 if (IS_ERR(node->path_name)) { 3979 if (!node->path_name) {
3980 rc = PTR_ERR(node->path_name); 3980 rc = -ENOMEM;
3981 node->path_name = NULL;
3982 goto parse_DFS_referrals_exit; 3981 goto parse_DFS_referrals_exit;
3983 } 3982 }
3984 3983
@@ -3987,11 +3986,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
3987 max_len = data_end - temp; 3986 max_len = data_end - temp;
3988 node->node_name = cifs_strndup_from_ucs(temp, max_len, 3987 node->node_name = cifs_strndup_from_ucs(temp, max_len,
3989 is_unicode, nls_codepage); 3988 is_unicode, nls_codepage);
3990 if (IS_ERR(node->node_name)) { 3989 if (!node->node_name)
3991 rc = PTR_ERR(node->node_name); 3990 rc = -ENOMEM;
3992 node->node_name = NULL;
3993 goto parse_DFS_referrals_exit;
3994 }
3995 } 3991 }
3996 3992
3997parse_DFS_referrals_exit: 3993parse_DFS_referrals_exit: