libceph: fix a use after free issue in osdmap_set_max_osd
authorLi RongQing <roy.qing.li@gmail.com>
Sun, 7 Sep 2014 10:10:51 +0000 (18:10 +0800)
committerIlya Dryomov <idryomov@redhat.com>
Tue, 14 Oct 2014 17:03:21 +0000 (21:03 +0400)
commit589506f1e7f135943bcd34903bcdcf1fdaf00549
treee592366a1c1d59e8ca1085fd13a06ebc506420d1
parentdc220db03f15c9875aa09c36beba582f20c76be1
libceph: fix a use after free issue in osdmap_set_max_osd

If the state variable is krealloced successfully, map->osd_state will be
freed, once following two reallocation failed, and exit the function
without resetting map->osd_state, map->osd_state become a wild pointer.

fix it by resetting them after krealloc successfully.

Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
net/ceph/osdmap.c