projects
/
gpac.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5043dd6
)
[PATCH] av1: flush samples on parse error (#2387)
author
Aurelien David
<aurelien.david@telecom-paristech.fr>
Fri, 10 Feb 2023 14:36:49 +0000
(15:36 +0100)
committer
Aron Xu
<aron@debian.org>
Tue, 23 May 2023 11:53:25 +0000
(12:53 +0100)
Gbp-Pq: Name CVE-2023-1449.patch
src/filters/reframe_av1.c
patch
|
blob
|
history
diff --git
a/src/filters/reframe_av1.c
b/src/filters/reframe_av1.c
index 67eaa743ce28036bb1a75f1858e8a663fd517284..be7d86c6bce93ae21600b5ad2debdf9d51778972 100644
(file)
--- a/
src/filters/reframe_av1.c
+++ b/
src/filters/reframe_av1.c
@@
-720,7
+720,7
@@
static GF_Err av1dmx_parse_flush_sample(GF_Filter *filter, GF_AV1DmxCtx *ctx)
if (!ctx->opid)
return GF_NON_COMPLIANT_BITSTREAM;
-
+
gf_bs_get_content_no_truncate(ctx->state.bs, &ctx->state.frame_obus, &pck_size, &ctx->state.frame_obus_alloc);
if (!pck_size) {
@@
-804,7
+804,12
@@
GF_Err av1dmx_parse_av1(GF_Filter *filter, GF_AV1DmxCtx *ctx)
//check pid state
av1dmx_check_pid(filter, ctx);
- if (e) return e;
+ if (e) {
+ if (e!=GF_EOS && e!=GF_BUFFER_TOO_SMALL) {
+ av1dmx_parse_flush_sample(filter, ctx);
+ }
+ return e;
+ }
if (!ctx->opid) {
@@
-1114,4
+1119,3
@@
const GF_FilterRegister *av1dmx_register(GF_FilterSession *session)
return NULL;
}
#endif // GPAC_DISABLE_AV_PARSERS
-