From: J. Ali Harlow Date: Sat, 11 Feb 2012 09:34:40 +0000 (+0000) Subject: Fix object management in error paths X-Git-Tag: 0.5.4~8 X-Git-Url: http://project.juiblex.co.uk/git/?a=commitdiff_plain;h=d9334fdc24aa6ca34dc5cfd4cba88b0a87b22c35;p=razor2.git%2F.git Fix object management in error paths --- diff --git a/src/main.c b/src/main.c index 2259596..032238c 100644 --- a/src/main.c +++ b/src/main.c @@ -1031,7 +1031,7 @@ update_system(const char *install_root, struct razor_relocations *relocations, relocations, RAZOR_STAGE_SCRIPTS_PRE); if (r < 0) { fprintf(stderr, "%s aborted\n", verb); - razor_atomic_destroy(atomic); + razor_root_close(root); retval = r; } else { razor_install_iterator_seek(ii, pos); @@ -1047,11 +1047,10 @@ update_system(const char *install_root, struct razor_relocations *relocations, (void)razor_root_commit(root); retval = razor_atomic_commit(atomic); - if (retval) { + if (retval) fprintf(stderr, "%s\n", razor_atomic_get_error_msg(atomic)); - razor_atomic_destroy(atomic); - } else { + else { razor_install_iterator_seek(ii, pos); update_packages(trans, ii, system, next, atomic, relocations,