bufsize_t _scan_dangerous_url()

in src/scanners.c [13476:13787]


bufsize_t _scan_dangerous_url(const unsigned char *p) {
  const unsigned char *marker = NULL;
  const unsigned char *start = p;

  {
    unsigned char yych;
    unsigned int yyaccept = 0;
    yych = *p;
    if (yych <= 'V') {
      if (yych <= 'F') {
        if (yych == 'D')
          goto yy897;
        if (yych >= 'F')
          goto yy898;
      } else {
        if (yych == 'J')
          goto yy899;
        if (yych >= 'V')
          goto yy900;
      }
    } else {
      if (yych <= 'f') {
        if (yych == 'd')
          goto yy897;
        if (yych >= 'f')
          goto yy898;
      } else {
        if (yych <= 'j') {
          if (yych >= 'j')
            goto yy899;
        } else {
          if (yych == 'v')
            goto yy900;
        }
      }
    }
    ++p;
  yy896 : { return 0; }
  yy897:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych == 'A')
      goto yy901;
    if (yych == 'a')
      goto yy901;
    goto yy896;
  yy898:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych == 'I')
      goto yy903;
    if (yych == 'i')
      goto yy903;
    goto yy896;
  yy899:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych == 'A')
      goto yy904;
    if (yych == 'a')
      goto yy904;
    goto yy896;
  yy900:
    yyaccept = 0;
    yych = *(marker = ++p);
    if (yych == 'B')
      goto yy905;
    if (yych == 'b')
      goto yy905;
    goto yy896;
  yy901:
    yych = *++p;
    if (yych == 'T')
      goto yy906;
    if (yych == 't')
      goto yy906;
  yy902:
    p = marker;
    if (yyaccept == 0) {
      goto yy896;
    } else {
      goto yy914;
    }
  yy903:
    yych = *++p;
    if (yych == 'L')
      goto yy907;
    if (yych == 'l')
      goto yy907;
    goto yy902;
  yy904:
    yych = *++p;
    if (yych == 'V')
      goto yy908;
    if (yych == 'v')
      goto yy908;
    goto yy902;
  yy905:
    yych = *++p;
    if (yych == 'S')
      goto yy909;
    if (yych == 's')
      goto yy909;
    goto yy902;
  yy906:
    yych = *++p;
    if (yych == 'A')
      goto yy910;
    if (yych == 'a')
      goto yy910;
    goto yy902;
  yy907:
    yych = *++p;
    if (yych == 'E')
      goto yy911;
    if (yych == 'e')
      goto yy911;
    goto yy902;
  yy908:
    yych = *++p;
    if (yych == 'A')
      goto yy905;
    if (yych == 'a')
      goto yy905;
    goto yy902;
  yy909:
    yych = *++p;
    if (yych == 'C')
      goto yy912;
    if (yych == 'c')
      goto yy912;
    goto yy902;
  yy910:
    yych = *++p;
    if (yych == ':')
      goto yy913;
    goto yy902;
  yy911:
    yych = *++p;
    if (yych == ':')
      goto yy915;
    goto yy902;
  yy912:
    yych = *++p;
    if (yych == 'R')
      goto yy916;
    if (yych == 'r')
      goto yy916;
    goto yy902;
  yy913:
    yyaccept = 1;
    yych = *(marker = ++p);
    if (yych == 'I')
      goto yy917;
    if (yych == 'i')
      goto yy917;
  yy914 : { return (bufsize_t)(p - start); }
  yy915:
    yych = *++p;
    goto yy914;
  yy916:
    yych = *++p;
    if (yych == 'I')
      goto yy918;
    if (yych == 'i')
      goto yy918;
    goto yy902;
  yy917:
    yych = *++p;
    if (yych == 'M')
      goto yy919;
    if (yych == 'm')
      goto yy919;
    goto yy902;
  yy918:
    yych = *++p;
    if (yych == 'P')
      goto yy920;
    if (yych == 'p')
      goto yy920;
    goto yy902;
  yy919:
    yych = *++p;
    if (yych == 'A')
      goto yy921;
    if (yych == 'a')
      goto yy921;
    goto yy902;
  yy920:
    yych = *++p;
    if (yych == 'T')
      goto yy911;
    if (yych == 't')
      goto yy911;
    goto yy902;
  yy921:
    yych = *++p;
    if (yych == 'G')
      goto yy922;
    if (yych != 'g')
      goto yy902;
  yy922:
    yych = *++p;
    if (yych == 'E')
      goto yy923;
    if (yych != 'e')
      goto yy902;
  yy923:
    yych = *++p;
    if (yych != '/')
      goto yy902;
    yych = *++p;
    if (yych <= 'W') {
      if (yych <= 'J') {
        if (yych == 'G')
          goto yy925;
        if (yych <= 'I')
          goto yy902;
        goto yy926;
      } else {
        if (yych == 'P')
          goto yy927;
        if (yych <= 'V')
          goto yy902;
        goto yy928;
      }
    } else {
      if (yych <= 'j') {
        if (yych == 'g')
          goto yy925;
        if (yych <= 'i')
          goto yy902;
        goto yy926;
      } else {
        if (yych <= 'p') {
          if (yych <= 'o')
            goto yy902;
          goto yy927;
        } else {
          if (yych == 'w')
            goto yy928;
          goto yy902;
        }
      }
    }
  yy925:
    yych = *++p;
    if (yych == 'I')
      goto yy929;
    if (yych == 'i')
      goto yy929;
    goto yy902;
  yy926:
    yych = *++p;
    if (yych == 'P')
      goto yy930;
    if (yych == 'p')
      goto yy930;
    goto yy902;
  yy927:
    yych = *++p;
    if (yych == 'N')
      goto yy931;
    if (yych == 'n')
      goto yy931;
    goto yy902;
  yy928:
    yych = *++p;
    if (yych == 'E')
      goto yy932;
    if (yych == 'e')
      goto yy932;
    goto yy902;
  yy929:
    yych = *++p;
    if (yych == 'F')
      goto yy933;
    if (yych == 'f')
      goto yy933;
    goto yy902;
  yy930:
    yych = *++p;
    if (yych == 'E')
      goto yy931;
    if (yych != 'e')
      goto yy902;
  yy931:
    yych = *++p;
    if (yych == 'G')
      goto yy933;
    if (yych == 'g')
      goto yy933;
    goto yy902;
  yy932:
    yych = *++p;
    if (yych == 'B')
      goto yy935;
    if (yych == 'b')
      goto yy935;
    goto yy902;
  yy933:
    ++p;
    { return 0; }
  yy935:
    ++p;
    if ((yych = *p) == 'P')
      goto yy933;
    if (yych == 'p')
      goto yy933;
    goto yy902;
  }
}