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

Commit c213b50b authored by Emil Goode's avatar Emil Goode Committed by Sage Weil
Browse files

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: default avatarEmil Goode <emilgoode@gmail.com>
Signed-off-by: default avatarSage Weil <sage@inktank.com>
parent 912c317d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end)
		       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)