@ljs @vbabka @lkundrak It has gotten long as it has a bit of history :P
- Someone fixed a memory leak but introduced a double-free.
- Another person fixed the double-free, reintroducing the leak.
- A third person then fixed the leak, but reverted it after noticing it introduced another double-free.
It's been there because handling all error cases properly is complicated. Luckily, it's a kind of bug that someone is very unlikely to encounter, and it only leaks 32 bytes of memory.