diff --git a/main/asterisk.c b/main/asterisk.c
index 86825f487c0cd078e484bb3cc6b5322dcbe68aee..0121e05759db66eb281b89aa80b1e757c8389c12 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -1950,7 +1950,7 @@ static int console_log_verbose(const char *s)
 
 	char prefix[80];
 	const char *c = s;
-	int res = 0;
+	int num, res = 0;
 
 	do {
 		if (VERBOSE_HASMAGIC(s)) {
@@ -1988,7 +1988,10 @@ static int console_log_verbose(const char *s)
 			fputs(prefix, stdout);
 		}
 
-		fwrite(c, sizeof(char), s - c, stdout);
+		num = s - c;
+		if (fwrite(c, sizeof(char), num, stdout) < num) {
+			break;
+		}
 
 		if (!res) {
 			/* if at least some info has been written