diff --git a/reactos/sdk/tools/mkhive/mkhive.c b/reactos/sdk/tools/mkhive/mkhive.c index 5d657ef05aa..a1d6ef4474f 100644 --- a/reactos/sdk/tools/mkhive/mkhive.c +++ b/reactos/sdk/tools/mkhive/mkhive.c @@ -101,7 +101,10 @@ int main (int argc, char *argv[]) for (i = 2; i < argc; i++) { convert_path (FileName, argv[i]); - ImportRegistryFile (FileName); + if (!ImportRegistryFile (FileName)) + { + return 1; + } } convert_path (FileName, argv[1]); diff --git a/reactos/sdk/tools/mkhive/reginf.c b/reactos/sdk/tools/mkhive/reginf.c index 7783d94c12e..36b1f95359f 100644 --- a/reactos/sdk/tools/mkhive/reginf.c +++ b/reactos/sdk/tools/mkhive/reginf.c @@ -501,11 +501,15 @@ ImportRegistryFile(PCHAR FileName) if (!registry_callback (hInf, (PWCHAR)DelReg, TRUE)) { DPRINT1 ("registry_callback() for DelReg failed\n"); + InfHostCloseFile (hInf); + return FALSE; } if (!registry_callback (hInf, (PWCHAR)AddReg, FALSE)) { DPRINT1 ("registry_callback() for AddReg failed\n"); + InfHostCloseFile (hInf); + return FALSE; } InfHostCloseFile (hInf);