From: Ilya Dryomov Date: Wed, 25 Jan 2017 17:16:21 +0000 (+0100) Subject: rbd: use kstrndup() in rbd_header_from_disk() X-Git-Tag: v4.11-rc1~47^2~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=848d796c8c918e2d60060992786f82754f539cd4;p=thirdparty%2Fkernel%2Flinux.git rbd: use kstrndup() in rbd_header_from_disk() Signed-off-by: Ilya Dryomov Reviewed-by: Jason Dillaman --- diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 36d2b9f4e8365..c3251f9123c06 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -992,15 +992,11 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev, /* Allocate this now to avoid having to handle failure below */ if (first_time) { - size_t len; - - len = strnlen(ondisk->object_prefix, - sizeof (ondisk->object_prefix)); - object_prefix = kmalloc(len + 1, GFP_KERNEL); + object_prefix = kstrndup(ondisk->object_prefix, + sizeof(ondisk->object_prefix), + GFP_KERNEL); if (!object_prefix) return -ENOMEM; - memcpy(object_prefix, ondisk->object_prefix, len); - object_prefix[len] = '\0'; } /* Allocate the snapshot context and fill it in */