diff options
author | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
---|---|---|
committer | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
commit | 5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch) | |
tree | b4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/alsa/alsa-utils/0001-aplay-Fix-invalid-file-size-check-for-non-regular-fi.patch | |
parent | 706ad73eb02caf8532deaf5d38995bd258725cb8 (diff) |
agl-basesystem
Diffstat (limited to 'bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/alsa/alsa-utils/0001-aplay-Fix-invalid-file-size-check-for-non-regular-fi.patch')
-rw-r--r-- | bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/alsa/alsa-utils/0001-aplay-Fix-invalid-file-size-check-for-non-regular-fi.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/alsa/alsa-utils/0001-aplay-Fix-invalid-file-size-check-for-non-regular-fi.patch b/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/alsa/alsa-utils/0001-aplay-Fix-invalid-file-size-check-for-non-regular-fi.patch new file mode 100644 index 00000000..586f9731 --- /dev/null +++ b/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/alsa/alsa-utils/0001-aplay-Fix-invalid-file-size-check-for-non-regular-fi.patch @@ -0,0 +1,36 @@ +From da4d5bd53a1a57d1b39318b83d3280fbcd78e9f6 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Tue, 15 May 2018 22:17:01 +0200 +Subject: [PATCH] aplay: Fix invalid file size check for non-regular files + +aplay tries to check the file size via fstat() at parsing the format +headers and avoids parsing when the size is shorter than the given +size. This works fine for regular files, but when a special file like +pipe is passed, it fails, eventually leading to the fallback mode +wrongly. + +A proper fix is to do this sanity check only for a regular file. + +Reported-by: Jay Foster <jay@systech.com> +Signed-off-by: Takashi Iwai <tiwai@suse.de> +--- + aplay/aplay.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/aplay/aplay.c b/aplay/aplay.c +index bbd7fff..63ec9ef 100644 +--- a/aplay/aplay.c ++++ b/aplay/aplay.c +@@ -2821,7 +2821,8 @@ static int read_header(int *loaded, int header_size) + + /* don't be adventurous, get out if file size is smaller than + * requested header size */ +- if (buf.st_size < header_size) ++ if ((buf.st_mode & S_IFMT) == S_IFREG && ++ buf.st_size < header_size) + return -1; + + if (*loaded < header_size) { +-- +2.7.4 + |