mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
ceph: improve error handling in ceph_mdsmap_decode
This patch makes the following improvements to the error handling in the ceph_mdsmap_decode function: - Add a NULL check for return value from kcalloc - Make use of the variable err Signed-off-by: Emil Goode <emilgoode@gmail.com> Signed-off-by: Sage Weil <sage@inktank.com>
This commit is contained in:
parent
912c317d46
commit
c213b50b7d
@ -138,6 +138,8 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end)
|
||||
m->m_info[mds].export_targets =
|
||||
kcalloc(num_export_targets, sizeof(u32),
|
||||
GFP_NOFS);
|
||||
if (m->m_info[mds].export_targets == NULL)
|
||||
goto badmem;
|
||||
for (j = 0; j < num_export_targets; j++)
|
||||
m->m_info[mds].export_targets[j] =
|
||||
ceph_decode_32(&pexport_targets);
|
||||
@ -170,7 +172,7 @@ bad:
|
||||
DUMP_PREFIX_OFFSET, 16, 1,
|
||||
start, end - start, true);
|
||||
ceph_mdsmap_destroy(m);
|
||||
return ERR_PTR(-EINVAL);
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
void ceph_mdsmap_destroy(struct ceph_mdsmap *m)
|
||||
|
Loading…
Reference in New Issue
Block a user