@@ -1165,8 +1165,9 @@ function handleMacCrashFileRead(err: NodeJS.ErrnoException | undefined | null, d
1165
1165
logMacCrashTelemetry ( data ) ;
1166
1166
}
1167
1167
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 ) ;
1170
1171
}
1171
1172
1172
1173
async 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
1197
1198
if ( pendingCrashLogLine === "ENDLOG" ) {
1198
1199
break ;
1199
1200
}
1200
- if ( ! containsUnexpectedTelemetryCharacter ( pendingCrashLogLine ) ) {
1201
- crashLog += pendingCrashLogLine + " \n";
1201
+ if ( containsFilteredTelemetryData ( pendingCrashLogLine ) ) {
1202
+ crashLog += "? \n";
1202
1203
} else {
1203
- crashLog += "<unexpectedCharacter> \n";
1204
+ crashLog += pendingCrashLogLine + " \n";
1204
1205
}
1205
1206
}
1206
1207
crashLog = crashLog . trimEnd ( ) ;
@@ -1255,12 +1256,8 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
1255
1256
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, "" ) ;
1256
1257
}
1257
1258
}
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 = "?" ;
1264
1261
} else if ( ! validFrameFound && ( funcStr . startsWith ( "crash_handler(" ) || funcStr . startsWith ( "_sigtramp" ) ) ) {
1265
1262
continue ; // Skip these on early frames.
1266
1263
}
@@ -1271,10 +1268,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
1271
1268
const offsetPos2 : number = offsetPos + offsetStr . length ;
1272
1269
if ( isMac ) {
1273
1270
const pendingOffset : string = line . substring ( offsetPos2 ) ;
1274
- if ( ! containsUnexpectedTelemetryCharacter ( pendingOffset ) ) {
1275
- crashCallStack += pendingOffset ;
1271
+ if ( containsFilteredTelemetryData ( pendingOffset ) ) {
1272
+ crashCallStack += "?" ;
1276
1273
} else {
1277
- crashCallStack += "<offsetUnexpectedCharacter>" ;
1274
+ crashCallStack += pendingOffset ;
1278
1275
}
1279
1276
const startAddressPos : number = line . indexOf ( "0x" ) ;
1280
1277
if ( startAddressPos === - 1 || startAddressPos >= startPos ) {
@@ -1290,10 +1287,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
1290
1287
continue ; // unexpected
1291
1288
}
1292
1289
const pendingOffset : string = line . substring ( offsetPos2 , endPos ) ;
1293
- if ( ! containsUnexpectedTelemetryCharacter ( pendingOffset ) ) {
1294
- crashCallStack += pendingOffset ;
1290
+ if ( containsFilteredTelemetryData ( pendingOffset ) ) {
1291
+ crashCallStack += "?" ;
1295
1292
} else {
1296
- crashCallStack += "<offsetUnexpectedCharacter>" ;
1293
+ crashCallStack += pendingOffset ;
1297
1294
}
1298
1295
}
1299
1296
}
@@ -1312,8 +1309,8 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr
1312
1309
data = data . substring ( 0 , 8191 ) + "…" ;
1313
1310
}
1314
1311
1315
- if ( containsUnexpectedTelemetryCharacter ( addressData ) ) {
1316
- addressData = "<addressDataUnexpectedCharacter> " ;
1312
+ if ( containsFilteredTelemetryData ( addressData ) ) {
1313
+ addressData = "? " ;
1317
1314
}
1318
1315
1319
1316
logCppCrashTelemetry ( data , addressData , crashLog ) ;
0 commit comments