This case (namely with zero-length payload) was discovered during my work with the demo app, where I deliberately use special (O1Heap-based) PMR allocator for ALL dynamic allocations.
It turns out that such allocator has special/corner case when payload is empty (which is a totally valid case, f.e. for an RPC service request). So, investigation of this problem also brought attention to quite useful optimization we can have during deserialization.
This case (namely with zero-length payload) was discovered during my work with the demo app, where I deliberately use special (O1Heap-based) PMR allocator for ALL dynamic allocations. It turns out that such allocator has special/corner case when payload is empty (which is a totally valid case, f.e. for an RPC service request). So, investigation of this problem also brought attention to quite useful optimization we can have during deserialization.