ring: fix memory freeing on error