cifs: fix error handling in parse_DFS_referrals
Jeff Layton [Thu, 14 May 2009 11:46:59 +0000 (07:46 -0400)]
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>

fs/cifs/cifssmb.c

index 75e6623..5759ba5 100644 (file)
@@ -3976,9 +3976,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
                max_len = data_end - temp;
                node->path_name = cifs_strndup_from_ucs(temp, max_len,
                                                      is_unicode, nls_codepage);
-               if (IS_ERR(node->path_name)) {
-                       rc = PTR_ERR(node->path_name);
-                       node->path_name = NULL;
+               if (!node->path_name) {
+                       rc = -ENOMEM;
                        goto parse_DFS_referrals_exit;
                }
 
@@ -3987,11 +3986,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
                max_len = data_end - temp;
                node->node_name = cifs_strndup_from_ucs(temp, max_len,
                                                      is_unicode, nls_codepage);
-               if (IS_ERR(node->node_name)) {
-                       rc = PTR_ERR(node->node_name);
-                       node->node_name = NULL;
-                       goto parse_DFS_referrals_exit;
-               }
+               if (!node->node_name)
+                       rc = -ENOMEM;
        }
 
 parse_DFS_referrals_exit: