9cb3759
From jim@meyering.net  Mon Jul 20 20:12:31 2009
9cb3759
Return-Path: jim@meyering.net
9cb3759
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on amd.home.annexia.org
9cb3759
X-Spam-Level: 
9cb3759
X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,
9cb3759
	UNPARSEABLE_RELAY autolearn=ham version=3.2.5
9cb3759
Received: from mail.corp.redhat.com [10.5.5.51]
9cb3759
	by amd.home.annexia.org with IMAP (fetchmail-6.3.8)
9cb3759
	for <rjones@localhost> (single-drop); Mon, 20 Jul 2009 20:12:31 +0100 (BST)
9cb3759
Received: from zmta03.collab.prod.int.phx2.redhat.com (LHLO
9cb3759
 zmta03.collab.prod.int.phx2.redhat.com) (10.5.5.33) by
9cb3759
 mail06.corp.redhat.com with LMTP; Mon, 20 Jul 2009 15:12:17 -0400 (EDT)
9cb3759
Received: from localhost (localhost.localdomain [127.0.0.1])
9cb3759
	by zmta03.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 3C1A04E4EC
9cb3759
	for <rjones@redhat.com>; Mon, 20 Jul 2009 15:12:17 -0400 (EDT)
9cb3759
Received: from zmta03.collab.prod.int.phx2.redhat.com ([127.0.0.1])
9cb3759
	by localhost (zmta03.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024)
9cb3759
	with ESMTP id a+PpYwgPRjqW for <rjones@redhat.com>;
9cb3759
	Mon, 20 Jul 2009 15:12:17 -0400 (EDT)
9cb3759
Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26])
9cb3759
	by zmta03.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 130A44E4D6
9cb3759
	for <rjones@mail.corp.redhat.com>; Mon, 20 Jul 2009 15:12:17 -0400 (EDT)
9cb3759
Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199])
9cb3759
	by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n6KJCGMZ001977
9cb3759
	for <rjones@int-mx2.corp.redhat.com>; Mon, 20 Jul 2009 15:12:16 -0400
9cb3759
Received: from mx.meyering.net (sebastian-int.corp.redhat.com [172.16.52.221])
9cb3759
	by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n6KJCF82022169
9cb3759
	for <rjones@redhat.com>; Mon, 20 Jul 2009 15:12:15 -0400
9cb3759
Received: by rho.meyering.net (Acme Bit-Twister, from userid 1000)
9cb3759
	id 36C5D38154; Mon, 20 Jul 2009 21:12:15 +0200 (CEST)
9cb3759
From: Jim Meyering <jim@meyering.net>
9cb3759
To: "Richard W. M. Jones" <rjones@redhat.com>
9cb3759
Subject: chntpw [PATCH] detect/diagnose failure to write key
9cb3759
Date: Mon, 20 Jul 2009 21:12:15 +0200
9cb3759
Message-ID: <873a8r88z4.fsf@meyering.net>
9cb3759
MIME-Version: 1.0
9cb3759
Content-Type: text/plain; charset=us-ascii
9cb3759
X-Scanned-By: MIMEDefang 2.58 on 172.16.27.26
9cb3759
Status: RO
9cb3759
Content-Length: 938
9cb3759
Lines: 34
9cb3759
9cb3759
Hi Rich, here's another.
9cb3759
9cb3759
>From 057c832cf924cabf887e59d1c1f2127cd4619572 Mon Sep 17 00:00:00 2001
9cb3759
From: Jim Meyering <meyering@redhat.com>
9cb3759
Date: Mon, 20 Jul 2009 15:09:26 -0400
9cb3759
Subject: [PATCH] detect/diagnose failure to write key
9cb3759
9cb3759
* ntreg.c (export_key): Detect stream write failure.
9cb3759
---
9cb3759
 ntreg.c |    9 ++++++++-
9cb3759
 1 files changed, 8 insertions(+), 1 deletions(-)
9cb3759
9cb3759
diff --git a/ntreg.c b/ntreg.c
9cb3759
index 21cd3e3..cdb6503 100644
9cb3759
--- a/ntreg.c
9cb3759
+++ b/ntreg.c
9cb3759
@@ -2735,7 +2735,14 @@ void export_key(struct hive *hdesc, int nkofs, char *name, char *filename, char
9cb3759
         fprintf(file, "Windows Registry Editor Version 5.00\r\n\r\n");
9cb3759
     export_subkey(hdesc, nkofs, name, prefix, file);
9cb3759
9cb3759
-    fclose(file);
9cb3759
+    if (ferror (file)) {
9cb3759
+	printf("failed to write file '%s'\n", filename);
9cb3759
+	fclose (file);
9cb3759
+	return;
9cb3759
+    }
9cb3759
+    if (fclose(file))
9cb3759
+      printf("failed to write file '%s': %s\n", filename,
9cb3759
+	     strerror(errno));
9cb3759
 }
9cb3759
9cb3759
9cb3759
--
9cb3759
1.6.2.5
9cb3759