Can we take the time to fix this ugly code?
First, check for m_sourceInlined and throw if true. this programming logic safeguard should take priority in ALL cases. Note: ( ! isInlined ) is already known true in this branch.
Next, check for isNull and handle it by putting (assigning, memcpying, I don't care) a null pointer or 8 null bytes (I don't care) to storage.
Else, initialize objectLength to getObjectLength_withoutNull() and proceed, checking it against maxLength in the usual way.