On Thu 09-04-15 10:37:42, Jan Kara wrote:
> On Wed 08-04-15 21:23:55, Fabian Frederick wrote:
> > Only callsite udf_get_filename() now returns
> > error code as well.
>   Did same modification as in the previous patch. Otherwise OK, so I've
> merged the patch.
  The resulting patch is attached for reference.

                                                                Honza

> > Suggested-by: Jan Kara <j...@suse.cz>
> > Signed-off-by: Fabian Frederick <f...@skynet.be>
> > ---
> >  fs/udf/unicode.c | 9 +++++----
> >  1 file changed, 5 insertions(+), 4 deletions(-)
> > 
> > diff --git a/fs/udf/unicode.c b/fs/udf/unicode.c
> > index 9008a36..488a838 100644
> > --- a/fs/udf/unicode.c
> > +++ b/fs/udf/unicode.c
> > @@ -257,7 +257,7 @@ static int udf_CS0toNLS(struct nls_table *nls, struct 
> > ustr *utf_o,
> >     ocu_len = ocu_i->u_len;
> >     if (ocu_len == 0) {
> >             memset(utf_o, 0, sizeof(struct ustr));
> > -           return 0;
> > +           return -EINVAL;
> >     }
> >  
> >     cmp_id = ocu_i->u_cmpID;
> > @@ -265,7 +265,7 @@ static int udf_CS0toNLS(struct nls_table *nls, struct 
> > ustr *utf_o,
> >             memset(utf_o, 0, sizeof(struct ustr));
> >             pr_err("unknown compression code (%d) stri=%s\n",
> >                    cmp_id, ocu_i->u_name);
> > -           return 0;
> > +           return -EINVAL;
> >     }
> >  
> >     ocu = ocu_i->u_name;
> > @@ -357,8 +357,9 @@ int udf_get_filename(struct super_block *sb, uint8_t 
> > *sname, int slen,
> >                     goto out2;
> >             }
> >     } else if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP)) {
> > -           if (!udf_CS0toNLS(UDF_SB(sb)->s_nls_map, filename,
> > -                             unifilename)) {
> > +           ret = udf_CS0toNLS(UDF_SB(sb)->s_nls_map, filename,
> > +                              unifilename);
> > +           if (ret < 0) {
> >                     udf_debug("Failed in udf_get_filename: sname = %s\n",
> >                               sname);
> >                     goto out2;
> > -- 
> > 1.9.1
> > 
> -- 
> Jan Kara <j...@suse.cz>
> SUSE Labs, CR
-- 
Jan Kara <j...@suse.cz>
SUSE Labs, CR
>From 2cd813297b6cb07d189057402f70100fa15a826b Mon Sep 17 00:00:00 2001
From: Fabian Frederick <f...@skynet.be>
Date: Wed, 8 Apr 2015 21:23:55 +0200
Subject: [PATCH 5/8] udf: improve error management in udf_CS0toNLS()

Only callsite udf_get_filename() now returns error code as well.

Suggested-by: Jan Kara <j...@suse.cz>
Signed-off-by: Fabian Frederick <f...@skynet.be>
Signed-off-by: Jan Kara <j...@suse.cz>
---
 fs/udf/unicode.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/fs/udf/unicode.c b/fs/udf/unicode.c
index 35cc9477b066..658aa14cc474 100644
--- a/fs/udf/unicode.c
+++ b/fs/udf/unicode.c
@@ -265,7 +265,7 @@ static int udf_CS0toNLS(struct nls_table *nls, struct ustr *utf_o,
 		memset(utf_o, 0, sizeof(struct ustr));
 		pr_err("unknown compression code (%d) stri=%s\n",
 		       cmp_id, ocu_i->u_name);
-		return 0;
+		return -EINVAL;
 	}
 
 	ocu = ocu_i->u_name;
@@ -357,8 +357,9 @@ int udf_get_filename(struct super_block *sb, uint8_t *sname, int slen,
 			goto out2;
 		}
 	} else if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP)) {
-		if (!udf_CS0toNLS(UDF_SB(sb)->s_nls_map, filename,
-				  unifilename)) {
+		ret = udf_CS0toNLS(UDF_SB(sb)->s_nls_map, filename,
+				   unifilename);
+		if (ret < 0) {
 			udf_debug("Failed in udf_get_filename: sname = %s\n",
 				  sname);
 			goto out2;
-- 
2.1.4

Reply via email to