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 <danny.al-gaaf@bisect.de>
This commit is contained in:
Danny Al-Gaaf 2014-06-04 23:22:18 +02:00
parent f17a9633fc
commit 3ee3e66a95

View File

@ -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)