{
  "CWE78": {
    "system_symbols": [
      "system",
      "execl"
    ],
    "string_symbols": [
      "sprintf",
      "snprintf",
      "strcat",
      "strncat"
    ],
    "user_input_symbols": [
      "scanf",
      "__isoc99_scanf",
      "sscanf",
      "__isoc99_sscanf"
    ],
    "format_string_index": {
      "sprintf": 1,
      "snprintf": 2,
      "scanf": 0,
      "__isoc99_scanf": 0,
      "sscanf": 1,
      "__isoc99_sscanf": 1
    }
  },
  "CWE134": {
    "format_string_symbols": [
      "sprintf",
      "snprintf",
      "printf",
      "scanf",
      "__isoc99_scanf",
      "sscanf",
      "__isoc99_sscanf"
    ],
    "format_string_index": {
      "sprintf": 1,
      "snprintf": 2,
      "printf": 0,
      "scanf": 0,
      "__isoc99_scanf": 0,
      "sscanf": 1,
      "__isoc99_sscanf": 1
    }
  },
  "CWE190": {
    "symbols": [
      "xmalloc",
      "malloc",
      "realloc",
      "calloc"
    ]
  },
  "CWE215": {
    "symbols": []
  },
  "CWE243": {
    "_comment": "valid chroot pathes according to http://www.unixwiz.net/techtips/chroot-practices.html",
    "pairs": [
      [
        "chroot",
        "chdir"
      ],
      [
        "chdir",
        "chroot",
        "setresuid"
      ],
      [
        "chdir",
        "chroot",
        "seteuid"
      ],
      [
        "chdir",
        "chroot",
        "setreuid"
      ],
      [
        "chdir",
        "chroot",
        "setuid"
      ]
    ],
    "priviledge_dropping_functions": [
      "setresuid",
      "seteuid",
      "setreuid",
      "setuid"
    ]
  },
  "CWE248": {
    "symbols": []
  },
  "CWE332": {
    "pairs": [
      [
        "srand",
        "rand"
      ]
    ]
  },
  "CWE367": {
    "pairs": [
      [
        "access",
        "open"
      ]
    ]
  },
  "CWE426": {
    "_comment": "functions that change/drop privileges",
    "symbols": [
      "setresgid",
      "setresuid",
      "setuid",
      "setgid",
      "seteuid",
      "setegid"
    ]
  },
  "CWE457": {
    "symbols": []
  },
  "CWE467": {
    "_comment": "any function that takes something of type size_t could be a possible candidate.",
    "symbols": [
      "strncmp",
      "malloc",
      "alloca",
      "_alloca",
      "strncat",
      "wcsncat",
      "strncpy",
      "wcsncpy",
      "stpncpy",
      "wcpncpy",
      "memcpy",
      "wmemcpy",
      "memmove",
      "wmemmove",
      "memcmp",
      "wmemcmp"
    ]
  },
  "CWE476": {
    "_comment": "any function that possibly returns a NULL value.",
    "_comment1": "included functions of the following libs: stdlib.h, locale.h, stdio.h, cstring.h, wchar.h",
    "parameters": [
      "strict_call_policy=true",
      "strict_memory_policy=false",
      "max_steps=100"
    ],
    "symbols": [
      "malloc",
      "calloc",
      "realloc",
      "getenv",
      "bsearch",
      "setlocale",
      "tmpfile",
      "tmpnam",
      "fopen",
      "freopen",
      "fgets",
      "memchr",
      "strchr",
      "strpbrk",
      "strrchr",
      "strstr",
      "strtok",
      "fgetws",
      "wcschr",
      "wcspbrk",
      "wcsrchr",
      "wcsstr",
      "wcstok",
      "wmemchr"
    ]
  },
  "CWE676": {
    "_comment": "https://github.com/01org/safestringlib/wiki/SDL-List-of-Banned-Functions",
    "symbols": [
      "alloca",
      "_alloca",
      "scanf",
      "wscanf",
      "sscanf",
      "swscanf",
      "vscanf",
      "vsscanf",
      "strlen",
      "wcslen",
      "strtok",
      "strtok_r",
      "wcstok",
      "strcat",
      "strncat",
      "wcscat",
      "wcsncat",
      "strcpy",
      "strncpy",
      "wcscpy",
      "wcsncpy",
      "stpcpy",
      "stpncpy",
      "wcpcpy",
      "wcpncpy",
      "memcpy",
      "wmemcpy",
      "memmove",
      "wmemmove",
      "memcmp",
      "wmemcmp",
      "memset",
      "wmemset",
      "gets",
      "sprintf",
      "vsprintf",
      "swprintf",
      "vswprintf",
      "snprintf",
      "vsnprintf",
      "realpath",
      "getwd",
      "wctomb",
      "wcrtomb",
      "wcstombs",
      "wcsrtombs",
      "wcsnrtombs"
    ]
  },
  "CWE782": {
    "symbols": []
  },
  "check_path": {
    "_comment": "functions that take direct user input",
    "symbols": [
      "recv",
      "fgets",
      "scanf"
    ]
  },
  "Memory": {
    "allocation_symbols": [
      "malloc",
      "calloc",
      "realloc",
      "xmalloc"
    ],
    "deallocation_symbols": [
      "free"
    ]
  }
}
