--- a/coreutils/echo.c	2014-09-28 20:44:19.024670523 -0700
+++ b/coreutils/echo.c	2014-09-28 20:46:14.278666374 -0700
@@ -31,6 +31,7 @@
 
 int echo_main(int argc UNUSED_PARAM, char **argv)
 {
+	int ret;
 	const char *arg;
 #if !ENABLE_FEATURE_FANCY_ECHO
 	enum {
@@ -101,7 +102,9 @@
 
 		if (!eflag) {
 			/* optimization for very common case */
-			fputs(arg, stdout);
+			ret = fputs(arg, stdout);
+			if (ret == EOF)
+				perror("echo failed");
 		} else while ((c = *arg++)) {
 			if (c == eflag) {	/* Check for escape seq. */
 				if (*arg == 'c') {
@@ -141,7 +144,11 @@
 		bb_putchar('\n');
 	}
  ret:
-	return fflush_all();
+	errno = 0;
+	ret = fflush_all();
+	if (errno)
+		perror("echo failed");
+	return ret;
 }
 
 /*-
