]> git.sur5r.net Git - openldap/commitdiff
ITS#5387
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 14 Apr 2008 20:29:58 +0000 (20:29 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 14 Apr 2008 20:29:58 +0000 (20:29 +0000)
CHANGES
servers/slapd/slapcat.c

diff --git a/CHANGES b/CHANGES
index 7e74e4b6f6d9e259ae3bf277eb95f1a79047f501..262f1afff477626b0287b1750d689b3a4bb7dfbe 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,7 @@ OpenLDAP 2.4 Change Log
 
 OpenLDAP 2.4.9 Engineering
        Fixed libldap_r tpool pause checks (ITS#5364, #5407)
+       Fixed slapcat error checking (ITS#5387)
        Fixed slapd frontendDB backend selection (ITS#5419)
        Fixed slapd delta-syncrepl resync (ITS#5378)
        Fixed slapd syncrepl hang on back-config (ITS#5407)
index bdda32b0e42eadc0367da2481376a79e8cebbf43..b8da193d30f96cf205d8ab27a4f7a0d935c51900 100644 (file)
@@ -84,6 +84,7 @@ slapcat( int argc, char **argv )
                char *data;
                int len;
                Entry* e;
+               int writerc;
 
                if ( gotsig )
                        break;
@@ -123,8 +124,21 @@ slapcat( int argc, char **argv )
                        break;
                }
 
-               fputs( data, ldiffp->fp );
-               fputs( "\n", ldiffp->fp );
+               writerc = fputs( data, ldiffp->fp );
+               if ( writerc == EOF ) {
+                       fprintf(stderr, "%s: error writing output.\n",
+                               progname);
+                       rc = EXIT_FAILURE;
+                       break;
+               }
+
+               writerc = fputs( "\n", ldiffp->fp );
+               if ( writerc == EOF ) {
+                       fprintf(stderr, "%s: error writing output.\n",
+                               progname);
+                       rc = EXIT_FAILURE;
+                       break;
+               }
        }
 
        be->be_entry_close( be );