It does. In fact, it's the Tsrv case that looks wrong (it leaks space already allocated by rralloc).
when you look at rralloc(), you can see that these sub structures are
indeed malloced so rrcopy needs to copy these too (like it does for the
Tsrv case).