mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-22 05:56:31 +00:00
playbin: Fix wrong AV element pair selection when rank is very large value
If user set very high rank to an element (e.g., integer max), integer overflow can happen while multiplication operation Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/690>
This commit is contained in:
parent
cc516695b0
commit
9c3cff287e
2 changed files with 8 additions and 8 deletions
|
@ -4023,10 +4023,10 @@ avelement_compare (gconstpointer p1, gconstpointer p2)
|
|||
if (v1->sink && v2->sink) {
|
||||
fs1 = (GstPluginFeature *) v1->sink;
|
||||
fs2 = (GstPluginFeature *) v2->sink;
|
||||
v1_rank =
|
||||
gst_plugin_feature_get_rank (fd1) * gst_plugin_feature_get_rank (fs1);
|
||||
v2_rank =
|
||||
gst_plugin_feature_get_rank (fd2) * gst_plugin_feature_get_rank (fs2);
|
||||
v1_rank = (gint64) gst_plugin_feature_get_rank (fd1) *
|
||||
gst_plugin_feature_get_rank (fs1);
|
||||
v2_rank = (gint64) gst_plugin_feature_get_rank (fd2) *
|
||||
gst_plugin_feature_get_rank (fs2);
|
||||
} else {
|
||||
v1_rank = gst_plugin_feature_get_rank (fd1);
|
||||
v2_rank = gst_plugin_feature_get_rank (fd2);
|
||||
|
|
|
@ -3348,10 +3348,10 @@ avelement_compare (gconstpointer p1, gconstpointer p2)
|
|||
if (v1->sink && v2->sink) {
|
||||
fs1 = (GstPluginFeature *) v1->sink;
|
||||
fs2 = (GstPluginFeature *) v2->sink;
|
||||
v1_rank =
|
||||
gst_plugin_feature_get_rank (fd1) * gst_plugin_feature_get_rank (fs1);
|
||||
v2_rank =
|
||||
gst_plugin_feature_get_rank (fd2) * gst_plugin_feature_get_rank (fs2);
|
||||
v1_rank = (gint64) gst_plugin_feature_get_rank (fd1) *
|
||||
gst_plugin_feature_get_rank (fs1);
|
||||
v2_rank = (gint64) gst_plugin_feature_get_rank (fd2) *
|
||||
gst_plugin_feature_get_rank (fs2);
|
||||
} else {
|
||||
v1_rank = gst_plugin_feature_get_rank (fd1);
|
||||
v2_rank = gst_plugin_feature_get_rank (fd2);
|
||||
|
|
Loading…
Reference in a new issue