df: fix memory leak in error case