From 3ee3e66a9520a5fcafa7d8c632586642f7bdbd29 Mon Sep 17 00:00:00 2001 From: Danny Al-Gaaf Date: Wed, 4 Jun 2014 23:22:18 +0200 Subject: [PATCH] librbd/internal.cc: check earlier for null pointer Fix potential null ponter deref, move check for 'order != NULL' to the beginning of the function to prevent a) deref in ldout() call and b) to leave function as early as possible if check fails. [src/librbd/internal.cc:843] -> [src/librbd/internal.cc:865]: (warning) Possible null pointer dereference: order - otherwise it is redundant to check it against null. Signed-off-by: Danny Al-Gaaf --- src/librbd/internal.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index 1d0e43f4ac444..2f4a88eb0f8b8 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -837,6 +837,9 @@ reprotect_and_return_err: bool old_format, uint64_t features, int *order, uint64_t stripe_unit, uint64_t stripe_count) { + if (!order) + return -EINVAL; + CephContext *cct = (CephContext *)io_ctx.cct(); ldout(cct, 20) << "create " << &io_ctx << " name = " << imgname << " size = " << size << " old_format = " << old_format @@ -862,9 +865,6 @@ reprotect_and_return_err: return -EEXIST; } - if (!order) - return -EINVAL; - if (!*order) *order = cct->_conf->rbd_default_order; if (!*order) -- 2.39.5