git: 9front

Download patch

ref: cb9a3365ee616c8d7a69f7874cec3e653a084959
parent: 574a1ba8a262764f413b656ce2083d1923976004
author: Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
date: Tue Feb 8 19:42:10 EST 2022

audio/flacdec: handle read errors properly to avoid endless looping saturating cpu

--- a/sys/src/cmd/audio/flacdec/flacdec.c
+++ b/sys/src/cmd/audio/flacdec/flacdec.c
@@ -25,10 +25,11 @@
 	int n = *bytes;
 
 	n = fread(buffer, 1, n, stdin);
-	if(n < 0)
+	if(n < 1){
+		if(feof(stdin))
+			return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
 		return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
-	if(n == 0)
-		return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM;
+	}
 
 	*bytes = n;
 	return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
--