diff -up pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp.orig pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp --- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp.orig 2015-03-31 15:28:05.958848322 +0200 +++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp 2015-03-31 15:29:13.253136407 +0200 @@ -349,13 +349,6 @@ CMPIrc CMPISCMOUtilities::scmoValue2CMPI data->value.uint64 = 0; data->state = CMPI_goodValue; - //Check for NULL CIMValue - if( scmoValue == 0 ) - { - data->state = CMPI_nullValue; - return CMPI_RC_OK; - } - if (type & CMPI_ARRAY) { // Get the type of the element of the CMPIArray @@ -389,6 +382,12 @@ CMPIrc CMPISCMOUtilities::scmoValue2CMPI } else { + //Check for NULL CIMValue + if( scmoValue == 0 ) + { + data->state = CMPI_nullValue; + return CMPI_RC_OK; + } // Check for encpsulated type, which need special handling if (type&CMPI_ENC) {