This is kind of an old post, but it was on the top of my google search. I think there’s a misleading information. What happens when the size of pl and payload mismatch (specifically when size of pl < payload)is that memcpy will copy garbage data behind where pl is pointing and store it in bp. It’s not the garbage data…