In cache_set() of krb5-1.16.1/src/lib/rpc/svc_udp.c,
When calls ALLOC(), will store the allocated memory to victim,
later if mem_alloc() fails, this function returns without
freeing the memory that victim points to.

The fix is to call "mem_free(r)" if this function returns on calling mem_alloc() failure.

Could someone help to take a look?