@@ -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,11 @@ 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 ( funcStr . includes ( "add_token_cache_to_string" ) ) {
1260+ funcStr = funcStr . replace ( "add_token_cache_to_string" , "key" ) ;
1261+ }
1262+ if ( containsFilteredTelemetryData ( funcStr ) ) {
1263+ funcStr = "?" ;
12641264 } else if ( ! validFrameFound && ( funcStr . startsWith ( "crash_handler(" ) || funcStr . startsWith ( "_sigtramp" ) ) ) {
12651265 continue ; // Skip these on early frames.
12661266 }
@@ -1271,10 +1271,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
12711271 const offsetPos2 : number = offsetPos + offsetStr . length ;
12721272 if ( isMac ) {
12731273 const pendingOffset : string = line . substring ( offsetPos2 ) ;
1274- if ( ! containsUnexpectedTelemetryCharacter ( pendingOffset ) ) {
1275- crashCallStack += pendingOffset ;
1274+ if ( containsFilteredTelemetryData ( pendingOffset ) ) {
1275+ crashCallStack += "?" ;
12761276 } else {
1277- crashCallStack += "<offsetUnexpectedCharacter>" ;
1277+ crashCallStack += pendingOffset ;
12781278 }
12791279 const startAddressPos : number = line . indexOf ( "0x" ) ;
12801280 if ( startAddressPos === - 1 || startAddressPos >= startPos ) {
@@ -1290,10 +1290,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
12901290 continue ; // unexpected
12911291 }
12921292 const pendingOffset : string = line . substring ( offsetPos2 , endPos ) ;
1293- if ( ! containsUnexpectedTelemetryCharacter ( pendingOffset ) ) {
1294- crashCallStack += pendingOffset ;
1293+ if ( containsFilteredTelemetryData ( pendingOffset ) ) {
1294+ crashCallStack += "?" ;
12951295 } else {
1296- crashCallStack += "<offsetUnexpectedCharacter>" ;
1296+ crashCallStack += pendingOffset ;
12971297 }
12981298 }
12991299 }
@@ -1312,8 +1312,8 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
13121312 data = data . substring ( 0 , 8191 ) + "…" ;
13131313 }
13141314
1315- if ( containsUnexpectedTelemetryCharacter ( addressData ) ) {
1316- addressData = "<addressDataUnexpectedCharacter> " ;
1315+ if ( containsFilteredTelemetryData ( addressData ) ) {
1316+ addressData = "? " ;
13171317 }
13181318
13191319 logCppCrashTelemetry ( data , addressData , crashLog ) ;
0 commit comments