Skip to content

Commit b093edb

Browse files
[mq] working branch - merge aadcd56 on top of main at 660c550
{"baseBranch":"main","baseCommit":"660c550b6311a209d9cf7de762e54b6b7109bcdb","createdAt":"2025-12-17T14:26:13.986719Z","headSha":"aadcd56467a351a44620e63f12c059412083bd8b","id":"6048ac56-4daa-4b5f-8fff-af8d4a7bcbf1","nextMergeabilityCheckAt":"2025-12-17T14:27:13.750373Z","priority":"200","pullRequestNumber":"1373","queuedAt":"2025-12-17T14:49:11.528377Z","status":"STATUS_QUEUED"}
2 parents 9b1fa14 + aadcd56 commit b093edb

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

libdd-trace-normalization/src/normalize_utils.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ pub fn normalize_span_start_duration(start: &mut i64, duration: &mut i64) {
5656
if *duration < 0 {
5757
*duration = 0;
5858
}
59-
if *duration > i64::MAX - *start {
59+
if (*start).checked_add(*duration).is_none() {
6060
*duration = 0;
6161
}
6262

@@ -286,6 +286,23 @@ mod tests {
286286
use super::*;
287287
use duplicate::duplicate_item;
288288

289+
#[test]
290+
fn test_normalize_span_start_duration_handles_min_start() {
291+
let mut start = i64::MIN;
292+
let mut duration = 1;
293+
normalize_span_start_duration(&mut start, &mut duration);
294+
assert_eq!(duration, 1);
295+
assert!(start > YEAR_2000_NANOSEC_TS);
296+
}
297+
298+
#[test]
299+
fn test_normalize_span_start_duration_handles_max_start() {
300+
let mut start = i64::MAX;
301+
let mut duration = 1;
302+
normalize_span_start_duration(&mut start, &mut duration);
303+
assert_eq!(duration, 0);
304+
}
305+
289306
#[duplicate_item(
290307
test_name input expected;
291308
[test_normalize_empty_string] [""] ["unnamed_operation"];

0 commit comments

Comments
 (0)