diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 8c2b89e2004b..3f23027fba3c 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -3639,7 +3639,7 @@ static int ceph_redirect_decode(void **p, void *end, if (ret) goto out; - len = ceph_decode_32(p); + ceph_decode_32_safe(p, end, len, e_inval); if (len > 0) { pr_warn("ceph_request_redirect::object_name is set\n"); goto e_inval;