Sebastian Dröge
403b10eba0
ssaparse: Don't use strstr() on strings that are potentially not NULL-terminated
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8036 >
2024-12-03 12:03:49 +00:00
Sebastian Dröge
15bb318416
ssaparse: Search for closing brace after opening brace
...
Otherwise removing anything between the braces leads to out of bound writes if
there is a closing brace before the first opening brace.
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-228
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3870
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8036 >
2024-12-03 12:03:49 +00:00
Tim-Philipp Müller
6cc25bd630
subparse: remove regex optimized flag explicitly
...
That way the other flags in jit_flags are not touched and
flags changes in future only need to be done in one place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7126 >
2024-07-03 03:46:19 +00:00
Edward Hervey
01b397601f
subparse: Don't use jitted regex when used with valgrind
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7117 >
2024-07-02 09:44:25 +02:00
Guillaume Desmottes
81de6b7738
subparse: fix typefind with small srt files
...
The typefind code was rejecting content smaller than 128 bytes making it
impossible to play files with very small srt files.
But those can actually be properly detected so fix typefind to allow
smaller content and try its best with it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6937 >
2024-06-07 11:28:49 +02:00
Guillaume Desmottes
9e3b1cfc49
subparse: properly group caps
...
No semantic change, but the way caps and macros were grouped was
confusing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6937 >
2024-06-07 10:00:56 +02:00
Sebastian Dröge
0f342da7f6
subparse: Don't unref seek event twice if forwarding it directly failed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6882 >
2024-05-20 16:16:06 +00:00
Elliot Chen
824c70d35a
subparse: forward seek event first and return if succeeded
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4889 >
2024-04-19 15:24:36 +00:00
Edward Hervey
34a1245905
subparsers: Give proper category to subtitle "decoders"
...
Some subtitle "decoders" had a wrong category of "Parser", which `parsebin`
relies on to identify elements which do not *decode* streams but *parse* them.
This would cause such subtitle decoders to be plugged in within parsebin,
preventing the original stream to be properly used by (more efficient)
downstream decoders or subtitle renderers.
Fixes #1757
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6153 >
2024-02-22 14:39:54 +00:00
Sebastian Dröge
069065adc4
subparse: Skip after the end of a valid closing tag instead of only skipping <
...
This is a small optimization and avoids restarting the next parsing
iteration on already accepted data.
On its own it would also fix ZDI-CAN-20968 (see previous commit) but the
previous commit independently is also a valid fix for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4895 >
2023-06-20 09:06:44 +01:00
Sebastian Dröge
97c6d7495e
subparse: Look for the closing >
of a tag after the opening <
...
Previously when fixing up subrip markip, we were looking from the start
of the remaining buffer instead. Due to how skipping over closing tags
works, the remaining buffer will still contain the closing `>` of the
previous tag so if a unexpected closing tag is found after another
closing tag, we would potentially do an out of bounds memmove().
Fixes ZDI-CAN-20968
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2662
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4895 >
2023-06-20 09:06:38 +01:00
Tim-Philipp Müller
330836db8e
taglist, plugins: fix compiler warnings with GLib >= 2.76
...
Fix compiler warnings about not using the return value when
freeing the GString segment with g_string_free(.., FALSE):
ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’
which we get with newer GLib versions. These were all harmless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4273 >
2023-03-27 07:37:11 +00:00
Tim-Philipp Müller
8759b77a50
gst-plugins-base: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:53 +00:00
Edward Hervey
3d506a0978
subparse: Properly forward segment seqnum
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3913 >
2023-02-08 14:12:07 +00:00
Edward Hervey
24a0e5bdfd
subparse: Fix non-closed tag handling.
...
Unclear what the goal was, but we could end up reading way past the next_tag.
Instead just move everything from after the end tag ('>') to the next_tag.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53040
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3340 >
2022-11-05 16:19:53 +00:00
Matthew Waters
1e269a3c6d
subparse: fix crash when parsing invalid timestamps in mpl2
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49245
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2989 >
2022-09-07 07:20:53 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Khem Raj
ce1f1c9eff
ssaparse: include required system headers for isspace() and sscanf() functions
...
Newer compilers ( clang 15 ) have turned stricter and errors out instead
of warning on implicit function declations
Fixes
gstssaparse.c:297:12: error: call to undeclared library function 'isspace' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
while (isspace(*t))
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2879 >
2022-08-14 08:32:05 +00:00
Tim-Philipp Müller
f19f579712
samiparse: clean up some GString usage
...
There's no need to re-assign the return value of
g_string_append_*() functions and such to the variable
holding the GString. These return values are just for
convenience so function calls can be chained. The actual
GString pointer won't change, it's not a GList after all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685 >
2022-07-01 17:24:52 +00:00
Tim-Philipp Müller
270d23c8e0
samiparse: micro-optimise entity handling
...
Avoid relocations and hard-code entity string length
in the struct, since we basically get it for free here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685 >
2022-07-01 17:24:52 +00:00
Tim-Philipp Müller
84a3b0ef87
samiparse: fix handling of self-closing tags
...
We would check the wrong string (rest of line rather than element)
for the / suffix of self-closing tags, which is not only wrong but
also has atrocious performance with certain strings like the garbled
nonsense clusterfuzz feeds us, which might cause discoverer to time
out when processing garbled SAMI files.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47461
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685 >
2022-07-01 17:24:52 +00:00
Matthew Waters
0f9f179bec
subparse: don't deref a potentially NULL variable
...
If the html SAMI data is malformed, then retrieving the attribute name
may fail. We then cannot retrieve the attribute value.
Fixes: https://oss-fuzz.com/testcase-detail/4700130671984640
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2317 >
2022-04-28 15:35:12 +10:00
Matthew Waters
c2ac57f6c9
subparse: don't try to index string with -1
...
If the len of the string turns out to be 0, str[len - 1] resolved to
str[-1] which is not a good idea.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46543
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2147 >
2022-04-10 10:57:08 +10:00
Edward Hervey
b6303c46b7
subparse: Handle GAP events before buffers
...
Make sure we did initial negotiation and segment pushing if we get GAP events
before buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903 >
2022-03-09 23:58:07 +00:00
Tim-Philipp Müller
5660743bbf
subparse: don't use g_warning() for malformed input
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009 >
2021-10-19 00:12:25 +00:00
Thibault Saunier
2fd28195ca
Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir
2021-09-24 16:13:26 -03:00