- When transaction being removed is the head of the list, correctly update the head to point to the next transaction. (cherry picked from commit 6ce6803d57dabe287d7d6fa859e93c1df402d821)
@@ -396,8 +396,8 @@ void remove_ts_transaction(ts_transaction_t* ts_t)
if (ts_t->prev)
ts_t->prev->next = ts_t->next;
- if ((ts_t->prev == NULL) && (ts_t->next == NULL))
- ts_t->urecord->transactions = NULL;
+ if (ts_t->urecord->transactions == ts_t)
+ ts_t->urecord->transactions = ts_t->next;
free_ts_transaction((void*)ts_t);