Многомерный массив и угон - PullRequest
0 голосов
/ 16 октября 2010

В настоящее время я работаю над инструментом, который проверяет, являются ли ваши приложения уязвимыми для dllhijacking.Во всяком случае, в моем коде есть раздел, который выглядит не очень элегантно.Сейчас есть только два комплекта, но я хочу добавить еще.Есть ли другой способ, вместо добавления петель для каждого набора?

LPSTR szFileExtWireShark[] = {"airpcap.dll", ".bfr", ".enc", ".fdc", ".pcap", ".pcapng", ".syc", NULL};
LPSTR szFileExtWin7[] = {"wab32res.dll", ".contact", ".group", ".p7c", ".vcf", NULL};

int loadSets(LPSTR szFileName, LPSTR szPath) {
  int counter;
  for(counter=1; szFileExtWireShark[counter] != NULL; counter++) {
 checkExt(szFileName, szPath, szFileExtWireShark[counter], szFileExtWireShark[0]);
  }
  for(counter=1; szFileExtWin7[counter] != NULL; counter++) {
 checkExt(szFileName, szPath, szFileExtWin7[counter], szFileExtWin7[0]);
  }
}

1 Ответ

1 голос
/ 16 октября 2010

с использованием одной петли

 LPSTR szFileExtWireShark[] = {"airpcap.dll", ".bfr", ".enc", ".fdc", ".pcap", ".pcapng", ".syc", NULL};
    LPSTR szFileExtWin7[] = {"wab32res.dll", ".contact", ".group", ".p7c", ".vcf", NULL};

    int loadSets(LPSTR szFileName, LPSTR szPath) {
      int counter;
      for(counter=1; (szFileExtWireShark[counter] != NULL && szFileExtWin7[counter] != NULL); counter++) {
    if(szFileExtWireShark[counter] != NULL)
     checkExt(szFileName, szPath, szFileExtWireShark[counter], szFileExtWireShark[0]);
    if(szFileExtWin7[counter] != NULL)
     checkExt(szFileName, szPath, szFileExtWin7[counter], szFileExtWin7[0]);
      }
    }
...