diff options
author | Sage Weil <sage@newdream.net> | 2009-12-21 17:49:37 -0500 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-12-21 19:39:59 -0500 |
commit | 30dc6381bbac213987be6fe0b0fb89868ff1f2c0 (patch) | |
tree | f647d1826a3f8cf07a510cad49c9f400359a9ae4 /fs/ceph/osd_client.c | |
parent | 5de7bf8afa87f75af5ef3d6f9fce3e171cac834c (diff) |
ceph: fix error paths for corrupt osdmap messages
Both osdmap_decode() and osdmap_apply_incremental() should never return
NULL.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/osd_client.c')
-rw-r--r-- | fs/ceph/osd_client.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c index 4bfe880d53c8..b474b3ad61f0 100644 --- a/fs/ceph/osd_client.c +++ b/fs/ceph/osd_client.c | |||
@@ -910,6 +910,7 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg) | |||
910 | err = PTR_ERR(newmap); | 910 | err = PTR_ERR(newmap); |
911 | goto bad; | 911 | goto bad; |
912 | } | 912 | } |
913 | BUG_ON(!newmap); | ||
913 | if (newmap != osdc->osdmap) { | 914 | if (newmap != osdc->osdmap) { |
914 | ceph_osdmap_destroy(osdc->osdmap); | 915 | ceph_osdmap_destroy(osdc->osdmap); |
915 | osdc->osdmap = newmap; | 916 | osdc->osdmap = newmap; |
@@ -946,6 +947,7 @@ void ceph_osdc_handle_map(struct ceph_osd_client *osdc, struct ceph_msg *msg) | |||
946 | err = PTR_ERR(newmap); | 947 | err = PTR_ERR(newmap); |
947 | goto bad; | 948 | goto bad; |
948 | } | 949 | } |
950 | BUG_ON(!newmap); | ||
949 | oldmap = osdc->osdmap; | 951 | oldmap = osdc->osdmap; |
950 | osdc->osdmap = newmap; | 952 | osdc->osdmap = newmap; |
951 | if (oldmap) | 953 | if (oldmap) |