media/mojo: Prevent overflow in video encoder area UMA calculation [chromium/src : main]

0 views
Skip to first unread message

Hirokazu Honda (Gerrit)

unread,
1:33 AM (8 hours ago) 1:33 AM
to chromium...@chromium.org, feature-me...@chromium.org

Hirokazu Honda has uploaded the change for review

Commit message

media/mojo: Prevent overflow in video encoder area UMA calculation

Use base::CheckedNumeric to calculate the video area in
MojoVideoEncoderMetricsProviderService. This avoids potential
integer overflow when multiplying width and height for UMA
reporting.

If the calculation overflows or is otherwise invalid, the reported
area is now capped to a maximum value corresponding to a
16400x16400 resolution.
Bug: 437858829
Test: None
Change-Id: If0e9e139034f86263974d7e10d8b8d74589c3bbc

Change diff

diff --git a/media/mojo/services/mojo_video_encoder_metrics_provider_service.cc b/media/mojo/services/mojo_video_encoder_metrics_provider_service.cc
index 6da8324..18f40c8 100644
--- a/media/mojo/services/mojo_video_encoder_metrics_provider_service.cc
+++ b/media/mojo/services/mojo_video_encoder_metrics_provider_service.cc
@@ -135,8 +135,15 @@
encode_size_.width());
base::UmaHistogramCounts10000(base::StrCat({uma_prefix, "Height"}),
encode_size_.height());
+
+ base::CheckedNumeric<int> area = encode_size_.width();
+ area *= encode_size_.height();
+ area /= 100;
+ constexpr int kMaxArea = 16400 * 16400 / 100;
+ const int reported_area =
+ area.IsValid<int>() ? area.ValueOrDie<int>() : kMaxArea;
base::UmaHistogramCounts1M(base::StrCat({uma_prefix, "Area"}),
- encode_size_.GetArea() / 100);
+ reported_area);
base::UmaHistogramEnumeration(base::StrCat({uma_prefix, "Status"}),
encoder_status_.code());
// One million frames is about 9.25 hours in 30 fps. That should be enough

Change information

Files:
  • M media/mojo/services/mojo_video_encoder_metrics_provider_service.cc
Change size: XS
Delta: 1 file changed, 8 insertions(+), 1 deletion(-)
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newchange
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If0e9e139034f86263974d7e10d8b8d74589c3bbc
Gerrit-Change-Number: 7855227
Gerrit-PatchSet: 1
Gerrit-Owner: Hirokazu Honda <hi...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Hirokazu Honda (Gerrit)

unread,
1:52 AM (7 hours ago) 1:52 AM
to Eugene Zemtsov, chromium...@chromium.org, feature-me...@chromium.org
Attention needed from Eugene Zemtsov

Hirokazu Honda voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If0e9e139034f86263974d7e10d8b8d74589c3bbc
Gerrit-Change-Number: 7855227
Gerrit-PatchSet: 1
Gerrit-Owner: Hirokazu Honda <hi...@chromium.org>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Hirokazu Honda <hi...@chromium.org>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Comment-Date: Mon, 18 May 2026 05:52:31 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Hirokazu Honda (Gerrit)

unread,
1:59 AM (7 hours ago) 1:59 AM
to Chromium LUCI CQ, Eugene Zemtsov, chromium...@chromium.org, feature-me...@chromium.org
Attention needed from Eugene Zemtsov

Hirokazu Honda voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Eugene Zemtsov
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If0e9e139034f86263974d7e10d8b8d74589c3bbc
Gerrit-Change-Number: 7855227
Gerrit-PatchSet: 2
Gerrit-Owner: Hirokazu Honda <hi...@chromium.org>
Gerrit-Reviewer: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Reviewer: Hirokazu Honda <hi...@chromium.org>
Gerrit-Attention: Eugene Zemtsov <eug...@chromium.org>
Gerrit-Comment-Date: Mon, 18 May 2026 05:59:21 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Hirokazu Honda (Gerrit)

unread,
2:37 AM (7 hours ago) 2:37 AM
to Chromium LUCI CQ, Eugene Zemtsov, chromium...@chromium.org, feature-me...@chromium.org
Gerrit-Comment-Date: Mon, 18 May 2026 06:36:51 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages