misc-misleading-identifier

查找包含从右到左方向的 Unicode 字符的标识符,这些字符可能会造成混淆,因为它们可能会改变对整条语句行的理解,如 Trojan Source 中所述。

以下是此类误导性代码的示例

#include <stdio.h>

short int א = (short int)0;
short int ג = (short int)12345;

int main() {
  int א = ג; // a local variable, set to zero?
  printf("ג is %d\n", ג);
  printf("א is %d\n", א);
}