summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuxuan Shui <yshuiv7@gmail.com>2019-05-12 15:36:52 +0100
committerSolomon Peachy <pizza@shaftnet.org>2020-08-10 14:14:58 -0400
commit5758a055fb6b7f1e2e61149174c7503994aa62a0 (patch)
tree72f7948617163d032d05acd01b4890af22b8ffc9
parente4ccd23bac7b1bbd87dad37ee84070f66130481d (diff)
downloadrockbox-5758a055fb6b7f1e2e61149174c7503994aa62a0.tar.gz
rockbox-5758a055fb6b7f1e2e61149174c7503994aa62a0.zip
Handle EOF properly in get_flac_metadata
Change-Id: I5e581990046a9f4a0859787aff2fd6fc06fbf7f5
-rw-r--r--docs/CREDITS1
-rw-r--r--lib/rbcodec/metadata/flac.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/docs/CREDITS b/docs/CREDITS
index a1041f4952..db74a3bacd 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -697,6 +697,7 @@ Boris Kovačević
697Stéphane Moutard-Martin 697Stéphane Moutard-Martin
698Rune Pade 698Rune Pade
699Michael Rey 699Michael Rey
700Yuxuan Shui
700 701
701The libmad team 702The libmad team
702The wavpack team 703The wavpack team
diff --git a/lib/rbcodec/metadata/flac.c b/lib/rbcodec/metadata/flac.c
index df25bb9b4d..af39c1346b 100644
--- a/lib/rbcodec/metadata/flac.c
+++ b/lib/rbcodec/metadata/flac.c
@@ -59,7 +59,7 @@ bool get_flac_metadata(int fd, struct mp3entry* id3)
59 unsigned long i; 59 unsigned long i;
60 int type; 60 int type;
61 61
62 if (read(fd, buf, 4) < 0) 62 if (read(fd, buf, 4) != 4)
63 { 63 {
64 return rc; 64 return rc;
65 } 65 }
@@ -73,7 +73,7 @@ bool get_flac_metadata(int fd, struct mp3entry* id3)
73 { 73 {
74 unsigned long totalsamples; 74 unsigned long totalsamples;
75 75
76 if (i >= sizeof(id3->path) || read(fd, buf, i) < 0) 76 if (i >= sizeof(id3->path) || read(fd, buf, i) != i)
77 { 77 {
78 return rc; 78 return rc;
79 } 79 }