r18001: Proper error reporting on write/close fail.
authorJeremy Allison <jra@samba.org>
Sat, 2 Sep 2006 04:50:08 +0000 (04:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:39:46 +0000 (11:39 -0500)
Jeremy.
(This used to be commit ba311ac4eac060c12cafeeb8e458f45c2927aabf)

source3/libads/kerberos.c

index 41c1dc00f54b0a8e68732426bf9fb7a3b1edc3e1..fa07602c5863f219b21ea4cc5ebc8e2a17cedb52 100644 (file)
@@ -478,6 +478,7 @@ BOOL create_local_private_krb5_conf_for_domain(const char *realm, const char *do
        char *fname = NULL;
        char *file_contents = NULL;
        size_t flen = 0;
+       size_t ret;
        char *realm_upper = NULL;
        int loopcount = 0;
 
@@ -548,13 +549,18 @@ BOOL create_local_private_krb5_conf_for_domain(const char *realm, const char *do
                break;
        }
 
-       if (x_fwrite(file_contents, 1, flen, xfp) != flen) {
+       ret = x_fwrite(file_contents, 1, flen, xfp);
+       if (flen != ret) {
+               DEBUG(0,("create_local_private_krb5_conf_for_domain: x_fwrite failed,"
+                       " returned %u. Errno %s\n", (unsigned int)ret, strerror(errno) ));
                unlink(fname);
                x_fclose(xfp);
                TALLOC_FREE(dname);
                return False;
        }
        if (x_fclose(xfp)==-1) {
+               DEBUG(0,("create_local_private_krb5_conf_for_domain: x_fclose failed."
+                       " Errno %s\n", strerror(errno) ));
                unlink(fname);
                TALLOC_FREE(dname);
                return False;