Merge pull request #2035 from simonduq/pr/csma-fix
CSMA bugfix: do not use field on a struct that may have been deallocated
This commit is contained in:
commit
1537488e74
@ -231,10 +231,12 @@ tx_done(int status, struct rdc_buf_list *q, struct neighbor_queue *n)
|
|||||||
mac_callback_t sent;
|
mac_callback_t sent;
|
||||||
struct qbuf_metadata *metadata;
|
struct qbuf_metadata *metadata;
|
||||||
void *cptr;
|
void *cptr;
|
||||||
|
uint8_t ntx;
|
||||||
|
|
||||||
metadata = (struct qbuf_metadata *)q->ptr;
|
metadata = (struct qbuf_metadata *)q->ptr;
|
||||||
sent = metadata->sent;
|
sent = metadata->sent;
|
||||||
cptr = metadata->cptr;
|
cptr = metadata->cptr;
|
||||||
|
ntx = n->transmissions;
|
||||||
|
|
||||||
switch(status) {
|
switch(status) {
|
||||||
case MAC_TX_OK:
|
case MAC_TX_OK:
|
||||||
@ -251,7 +253,7 @@ tx_done(int status, struct rdc_buf_list *q, struct neighbor_queue *n)
|
|||||||
}
|
}
|
||||||
|
|
||||||
free_packet(n, q, status);
|
free_packet(n, q, status);
|
||||||
mac_call_sent_callback(sent, cptr, status, n->transmissions);
|
mac_call_sent_callback(sent, cptr, status, ntx);
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user