Skip to content
Snippets Groups Projects
Commit 17792275 authored by Brian Delwiche's avatar Brian Delwiche Committed by Automerger Merge Worker
Browse files

Merge "Fix potential use after free in pan_api.cc" into tm-dev am: 003c3d27

parents 9d6e514e 003c3d27
No related branches found
No related tags found
No related merge requests found
......@@ -509,6 +509,12 @@ tPAN_RESULT PAN_WriteBuf(uint16_t handle, const RawAddress& dst,
return PAN_FAILURE;
}
/* There are cases where BNAP_WriteBuf alters p_buf->len. However,
* the octets being handled are only used later by PAN for logging
* purposes, and for those purposes this length is arguably correct --
* it is the number of bytes handled at the PAN level. */
uint16_t bytes = p_buf->len;
result =
BNEP_WriteBuf(pan_cb.pcb[i].handle, dst, p_buf, protocol, &src, ext);
if (result == BNEP_IGNORE_CMD) {
......@@ -519,7 +525,7 @@ tPAN_RESULT PAN_WriteBuf(uint16_t handle, const RawAddress& dst,
return (tPAN_RESULT)result;
}
pan_cb.pcb[i].write.octets += p_buf->len;
pan_cb.pcb[i].write.octets += bytes;
pan_cb.pcb[i].write.packets++;
PAN_TRACE_DEBUG("PAN successfully wrote data for the PANU connection");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment