mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1139460 - Part 1 - Avoid Telemetry payload data changes after collection. r=vladan
This commit is contained in:
parent
aec2e4504e
commit
6a2a266507
@ -9,6 +9,7 @@ const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
const Cr = Components.results;
|
||||
const Cu = Components.utils;
|
||||
const myScope = this;
|
||||
|
||||
Cu.import("resource://gre/modules/Log.jsm");
|
||||
Cu.import("resource://gre/modules/debug.js", this);
|
||||
@ -317,6 +318,11 @@ let Impl = {
|
||||
this._log.trace("assemblePing - Type " + aType + ", Server " + this._server +
|
||||
", aOptions " + JSON.stringify(aOptions));
|
||||
|
||||
// Clone the payload data so we don't race against unexpected changes in subobjects that are
|
||||
// still referenced by other code.
|
||||
// We can't trust all callers to do this properly on their own.
|
||||
let payload = Cu.cloneInto(aPayload, myScope);
|
||||
|
||||
// Fill the common ping fields.
|
||||
let pingData = {
|
||||
type: aType,
|
||||
|
Loading…
Reference in New Issue
Block a user