Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdf2657b authored by Markus Elfring's avatar Markus Elfring Committed by Jan Kara
Browse files

udf: One function call less in udf_fill_super() after error detection



The iput() function was called in up to three cases by the udf_fill_super()
function during error handling even if the passed data structure element
contained still a null pointer. This implementation detail could be improved
by the introduction of another jump label.

Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 0d454e4a
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -2082,12 +2082,12 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
	mutex_init(&sbi->s_alloc_mutex);
	mutex_init(&sbi->s_alloc_mutex);


	if (!udf_parse_options((char *)options, &uopt, false))
	if (!udf_parse_options((char *)options, &uopt, false))
		goto error_out;
		goto parse_options_failure;


	if (uopt.flags & (1 << UDF_FLAG_UTF8) &&
	if (uopt.flags & (1 << UDF_FLAG_UTF8) &&
	    uopt.flags & (1 << UDF_FLAG_NLS_MAP)) {
	    uopt.flags & (1 << UDF_FLAG_NLS_MAP)) {
		udf_err(sb, "utf8 cannot be combined with iocharset\n");
		udf_err(sb, "utf8 cannot be combined with iocharset\n");
		goto error_out;
		goto parse_options_failure;
	}
	}
#ifdef CONFIG_UDF_NLS
#ifdef CONFIG_UDF_NLS
	if ((uopt.flags & (1 << UDF_FLAG_NLS_MAP)) && !uopt.nls_map) {
	if ((uopt.flags & (1 << UDF_FLAG_NLS_MAP)) && !uopt.nls_map) {
@@ -2238,6 +2238,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)


error_out:
error_out:
	iput(sbi->s_vat_inode);
	iput(sbi->s_vat_inode);
parse_options_failure:
#ifdef CONFIG_UDF_NLS
#ifdef CONFIG_UDF_NLS
	if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
	if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
		unload_nls(sbi->s_nls_map);
		unload_nls(sbi->s_nls_map);