ceph: fix map handler error path
authorSage Weil <sage@newdream.net>
Sun, 13 Jun 2010 17:27:53 +0000 (10:27 -0700)
committerSage Weil <sage@newdream.net>
Sun, 13 Jun 2010 17:34:36 +0000 (10:34 -0700)
Don't leak message if we receive an unexpected message type.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/osd_client.c

index d25b4add85b4135249c77cbffc71bb2010170df5..92b7251a53f1415275ba8fd0a2d09f3b0cac6010 100644 (file)
@@ -1344,7 +1344,7 @@ static void dispatch(struct ceph_connection *con, struct ceph_msg *msg)
        int type = le16_to_cpu(msg->hdr.type);
 
        if (!osd)
-               return;
+               goto out;
        osdc = osd->o_osdc;
 
        switch (type) {
@@ -1359,6 +1359,7 @@ static void dispatch(struct ceph_connection *con, struct ceph_msg *msg)
                pr_err("received unknown message type %d %s\n", type,
                       ceph_msg_type_name(type));
        }
+out:
        ceph_msg_put(msg);
 }