From 74cc16ce0afac1cd20782e90c84ca764c5e20371 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Mon, 14 Apr 2008 20:29:58 +0000 Subject: [PATCH] ITS#5387 --- CHANGES | 1 + servers/slapd/slapcat.c | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 7e74e4b6f6..262f1afff4 100644 --- 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) diff --git a/servers/slapd/slapcat.c b/servers/slapd/slapcat.c index bdda32b0e4..b8da193d30 100644 --- a/servers/slapd/slapcat.c +++ b/servers/slapd/slapcat.c @@ -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 ); -- 2.39.5