Эх сурвалжийг харах

libceph: potential NULL dereference in ceph_osdc_handle_map()

There are two places where we read "nr_maps" if both of them are set to
zero then we would hit a NULL dereference here.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Dan Carpenter 12 жил өмнө
parent
commit
b72e19b922
1 өөрчлөгдсөн 2 нэмэгдсэн , 0 устгасан
  1. 2 0
      net/ceph/osd_client.c

+ 2 - 0
net/ceph/osd_client.c

@@ -1793,6 +1793,8 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg)
 		nr_maps--;
 	}
 
+	if (!osdc->osdmap)
+		goto bad;
 done:
 	downgrade_write(&osdc->map_sem);
 	ceph_monc_got_osdmap(&osdc->client->monc, osdc->osdmap->epoch);