Commit
38876d31 fixed setting 'msg' when resizing an ofpbuf, but
failed to fix the same issue in ofpbuf_clone_with_headroom(). Without
this fix the newly cloned ofpbuf's 'msg', if non-NULL, will point to
the buffer of the original ofpbuf.
Signed-off-by: Jarno Rajahalme <jarno@ovn.org>
Acked-by: Joe Stringer <joe@ovn.org>
new_buffer->header = (char *) new_buffer->data + header_offset;
}
new_buffer->header = (char *) new_buffer->data + header_offset;
}
- new_buffer->msg = b->msg;
+ if (b->msg) {
+ ptrdiff_t msg_offset = (char *) b->msg - (char *) b->data;
+
+ new_buffer->msg = (char *) new_buffer->data + msg_offset;
+ }