@@ -1165,8 +1165,9 @@ function handleMacCrashFileRead(err: NodeJS.ErrnoException | undefined | null, d
11651165 logMacCrashTelemetry ( data ) ;
11661166}
11671167
1168- function containsUnexpectedTelemetryCharacter ( str : string ) : boolean {
1169- return str . includes ( "/" ) || str . includes ( "\\" ) || str . includes ( "@" ) ;
1168+ function containsFilteredTelemetryData ( str : string ) : boolean {
1169+ const regex : RegExp = / ( k e y | t o k e n | s i g | s e c r e t | s i g n a t u r e | p a s s w o r d | p a s s w d | p w d | a n d r o i d : v a l u e ) [ ^ a - z A - Z 0 - 9 ] / i;
1170+ return regex . test ( str ) ;
11701171}
11711172
11721173async function handleCrashFileRead ( crashDirectory : string , crashFile : string , crashDate : Date , err : NodeJS . ErrnoException | undefined | null , data : string ) : Promise < void > {
@@ -1197,10 +1198,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
11971198 if ( pendingCrashLogLine === "ENDLOG" ) {
11981199 break ;
11991200 }
1200- if ( ! containsUnexpectedTelemetryCharacter ( pendingCrashLogLine ) ) {
1201- crashLog += pendingCrashLogLine + " \n";
1201+ if ( containsFilteredTelemetryData ( pendingCrashLogLine ) ) {
1202+ crashLog += "? \n";
12021203 } else {
1203- crashLog += "<unexpectedCharacter> \n";
1204+ crashLog += pendingCrashLogLine + " \n";
12041205 }
12051206 }
12061207 crashLog = crashLog . trimEnd ( ) ;
@@ -1255,12 +1256,8 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
12551256 funcStr = funcStr . replace ( / , s t d : : a l l o c a t o r < s t d : : s t r i n g > / g, "" ) ;
12561257 }
12571258 }
1258- if ( funcStr . includes ( "/" ) ) {
1259- funcStr = "<funcForwardSlash>" ;
1260- } else if ( funcStr . includes ( "\\" ) ) {
1261- funcStr = "<funcBackSlash>" ;
1262- } else if ( funcStr . includes ( "@" ) ) {
1263- funcStr = "<funcAt>" ;
1259+ if ( containsFilteredTelemetryData ( funcStr ) ) {
1260+ funcStr = "?" ;
12641261 } else if ( ! validFrameFound && ( funcStr . startsWith ( "crash_handler(" ) || funcStr . startsWith ( "_sigtramp" ) ) ) {
12651262 continue ; // Skip these on early frames.
12661263 }
@@ -1271,10 +1268,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
12711268 const offsetPos2 : number = offsetPos + offsetStr . length ;
12721269 if ( isMac ) {
12731270 const pendingOffset : string = line . substring ( offsetPos2 ) ;
1274- if ( ! containsUnexpectedTelemetryCharacter ( pendingOffset ) ) {
1275- crashCallStack += pendingOffset ;
1271+ if ( containsFilteredTelemetryData ( pendingOffset ) ) {
1272+ crashCallStack += "?" ;
12761273 } else {
1277- crashCallStack += "<offsetUnexpectedCharacter>" ;
1274+ crashCallStack += pendingOffset ;
12781275 }
12791276 const startAddressPos : number = line . indexOf ( "0x" ) ;
12801277 if ( startAddressPos === - 1 || startAddressPos >= startPos ) {
@@ -1290,10 +1287,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
12901287 continue ; // unexpected
12911288 }
12921289 const pendingOffset : string = line . substring ( offsetPos2 , endPos ) ;
1293- if ( ! containsUnexpectedTelemetryCharacter ( pendingOffset ) ) {
1294- crashCallStack += pendingOffset ;
1290+ if ( containsFilteredTelemetryData ( pendingOffset ) ) {
1291+ crashCallStack += "?" ;
12951292 } else {
1296- crashCallStack += "<offsetUnexpectedCharacter>" ;
1293+ crashCallStack += pendingOffset ;
12971294 }
12981295 }
12991296 }
@@ -1312,8 +1309,8 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
13121309 data = data . substring ( 0 , 8191 ) + "…" ;
13131310 }
13141311
1315- if ( containsUnexpectedTelemetryCharacter ( addressData ) ) {
1316- addressData = "<addressDataUnexpectedCharacter> " ;
1312+ if ( containsFilteredTelemetryData ( addressData ) ) {
1313+ addressData = "? " ;
13171314 }
13181315
13191316 logCppCrashTelemetry ( data , addressData , crashLog ) ;
0 commit comments