Handle invalid NULL at the end of a PDU

We've seen at least one provider that sends a NULL byte after the `short_message` field in a `deliver_sm` PDU.

This is a violation of the SMPP spec, but we should probably handle it more gracefully than assuming it's the start of an optional parameter and exploding because it's too short to be a 16-bit integer.
We have similar prints in other places in this codebase. We really should fix it, but it hasn't been a priority and I don't want it to block this unnecessarily while we have production issues.