diff options
| author | Sage Weil <sage@newdream.net> | 2010-06-13 13:27:53 -0400 |
|---|---|---|
| committer | Sage Weil <sage@newdream.net> | 2010-06-13 13:34:36 -0400 |
| commit | 4a32f93d29b05cdab63c0e2979bc1524c8ea6bf5 (patch) | |
| tree | 381f3bac8bb564a4666f48a0d6d459b0a2bbbba7 | |
| parent | 0cf5537b158caae42bcc03f0f6db10f68585b1ec (diff) | |
ceph: fix map handler error path
Don't leak message if we receive an unexpected message type.
Signed-off-by: Sage Weil <sage@newdream.net>
| -rw-r--r-- | fs/ceph/osd_client.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c index d25b4add85b4..92b7251a53f1 100644 --- a/fs/ceph/osd_client.c +++ b/fs/ceph/osd_client.c | |||
| @@ -1344,7 +1344,7 @@ static void dispatch(struct ceph_connection *con, struct ceph_msg *msg) | |||
| 1344 | int type = le16_to_cpu(msg->hdr.type); | 1344 | int type = le16_to_cpu(msg->hdr.type); |
| 1345 | 1345 | ||
| 1346 | if (!osd) | 1346 | if (!osd) |
| 1347 | return; | 1347 | goto out; |
| 1348 | osdc = osd->o_osdc; | 1348 | osdc = osd->o_osdc; |
| 1349 | 1349 | ||
| 1350 | switch (type) { | 1350 | switch (type) { |
| @@ -1359,6 +1359,7 @@ static void dispatch(struct ceph_connection *con, struct ceph_msg *msg) | |||
| 1359 | pr_err("received unknown message type %d %s\n", type, | 1359 | pr_err("received unknown message type %d %s\n", type, |
| 1360 | ceph_msg_type_name(type)); | 1360 | ceph_msg_type_name(type)); |
| 1361 | } | 1361 | } |
| 1362 | out: | ||
| 1362 | ceph_msg_put(msg); | 1363 | ceph_msg_put(msg); |
| 1363 | } | 1364 | } |
| 1364 | 1365 | ||
