Currently message->payload always points to the address immediately
following the header in a message. If the payload length is 0, this
is not a valid pointer.
Change the code to assign a null pointer to the payload in this
case. I have verified that no code dereferences the payload pointer
unless the payload is known to have non-zero size.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
header = (struct gb_operation_msg_hdr *)(buffer + hd->buffer_headroom);
message->header = header;
- message->payload = header + 1;
+ message->payload = payload_size ? header + 1 : NULL;
message->payload_size = payload_size;
/*