protobuf_clips: fix validation of clips messages

In some situations only the shared_ptr was tested for validity:
> if (!*m) ...
This could lead to the dereference of a NULL pointer, if m was NULL.

In other situations the test also tried to validate the pointer:
> if (!(m || *m)) ...
The idea here probably was to first validate the pointer and then the
shared_ptr, while relying on short circuit evaluation to jump out of the
condition early. However, this only works for the "non-optimized"
version as proposed in this commit, where the negation is not factored out.