Commit 5b4c845e authored by Chengguang Xu's avatar Chengguang Xu Committed by Darrick J. Wong

xfs: fix potential memory leak in mount option parsing

When specifying string type mount option (e.g., logdev)
several times in a mount, current option parsing may
cause memory leak. Hence, call kfree for previous one
in this case.
Signed-off-by: default avatarChengguang Xu <cgxu519@icloud.com>
Reviewed-by: default avatarEric Sandeen <sandeen@redhat.com>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent b31c2bdc
...@@ -250,6 +250,7 @@ xfs_parseargs( ...@@ -250,6 +250,7 @@ xfs_parseargs(
return -EINVAL; return -EINVAL;
break; break;
case Opt_logdev: case Opt_logdev:
kfree(mp->m_logname);
mp->m_logname = match_strdup(args); mp->m_logname = match_strdup(args);
if (!mp->m_logname) if (!mp->m_logname)
return -ENOMEM; return -ENOMEM;
...@@ -258,6 +259,7 @@ xfs_parseargs( ...@@ -258,6 +259,7 @@ xfs_parseargs(
xfs_warn(mp, "%s option not allowed on this system", p); xfs_warn(mp, "%s option not allowed on this system", p);
return -EINVAL; return -EINVAL;
case Opt_rtdev: case Opt_rtdev:
kfree(mp->m_rtname);
mp->m_rtname = match_strdup(args); mp->m_rtname = match_strdup(args);
if (!mp->m_rtname) if (!mp->m_rtname)
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment