Commit d2c03bfa authored by Chait Pinnamaneni's avatar Chait Pinnamaneni Committed by Chromium LUCI CQ

Client variations catch error if parse fails

Request headers will show empty decoded data
https://i.imgur.com/dwRxcMK.png

Bug: 1160346
Change-Id: Idd7fef49f8f3ead4736f253c9dead61c5ff2d1ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2605396
Commit-Queue: Chait Pinnamaneni <cpinnamaneni@microsoft.com>
Reviewed-by: default avatarMathias Bynens <mathias@chromium.org>
Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#840789}
parent 610e09c8
......@@ -31,8 +31,15 @@ export function parse(data) {
bytes.push(decoded.charCodeAt(i));
}
const parsed = ClientVariations.deserializeBinary(bytes);
let parsed = null;
try {
parsed = ClientVariations.deserializeBinary(bytes);
} catch (e) {
// Deserialization is never expected to fail in Chromium,
// but might fail in downstream repositories such as Edgium or
// if any website uses the same header name 'x-client-data'
parsed = ClientVariations.deserializeBinary([]);
}
return {
'variationIds': parsed.getVariationIdList(),
'triggerVariationIds': parsed.getTriggerVariationIdList(),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment