ceph: Always free allocated memory in osdmap_decode()

Always free memory allocated to 'pi' in
net/ceph/osdmap.c::osdmap_decode().

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Sage Weil <sage@newdream.net>

authored by Jesper Juhl and committed by Sage Weil b0aee351 582c86e6

+3 -1
+3 -1
net/ceph/osdmap.c
··· 605 goto bad; 606 } 607 err = __decode_pool(p, end, pi); 608 - if (err < 0) 609 goto bad; 610 __insert_pg_pool(&map->pg_pools, pi); 611 } 612
··· 605 goto bad; 606 } 607 err = __decode_pool(p, end, pi); 608 + if (err < 0) { 609 + kfree(pi); 610 goto bad; 611 + } 612 __insert_pg_pool(&map->pg_pools, pi); 613 } 614