libceph: NULL deref on osdmap_apply_incremental() error path
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 13 Jul 2017 07:45:17 +0000 (10:45 +0300)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 17 Jul 2017 12:54:58 +0000 (14:54 +0200)
commit00c8ebb360937bbc5da02929d62fcbf6a72801eb
treee35bf3150b2251ac2db8d16a50576ef975943e3a
parente67ae2b7b23b283e657865b498b151e6a17b919d
libceph: NULL deref on osdmap_apply_incremental() error path

There are hidden gotos in the ceph_decode_* macros.  We need to set the
"err" variable on these error paths otherwise we end up returning
ERR_PTR(0) which is NULL.  It causes NULL dereferences in the callers.

Fixes: 6f428df47dae ("libceph: pg_upmap[_items] infrastructure")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
[idryomov@gmail.com: similar bug in osdmap_decode(), changelog tweak]
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
net/ceph/osdmap.c