Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/metamath-0.183/metamath.c
Examining data/metamath-0.183/mmcmdl.c
Examining data/metamath-0.183/mmcmdl.h
Examining data/metamath-0.183/mmcmds.c
Examining data/metamath-0.183/mmcmds.h
Examining data/metamath-0.183/mmdata.c
Examining data/metamath-0.183/mmdata.h
Examining data/metamath-0.183/mmhlpa.c
Examining data/metamath-0.183/mmhlpa.h
Examining data/metamath-0.183/mmhlpb.c
Examining data/metamath-0.183/mmhlpb.h
Examining data/metamath-0.183/mminou.c
Examining data/metamath-0.183/mminou.h
Examining data/metamath-0.183/mmmaci.c
Examining data/metamath-0.183/mmmaci.h
Examining data/metamath-0.183/mmpars.c
Examining data/metamath-0.183/mmpars.h
Examining data/metamath-0.183/mmpfas.c
Examining data/metamath-0.183/mmpfas.h
Examining data/metamath-0.183/mmunif.c
Examining data/metamath-0.183/mmunif.h
Examining data/metamath-0.183/mmutil.c
Examining data/metamath-0.183/mmutil.h
Examining data/metamath-0.183/mmveri.c
Examining data/metamath-0.183/mmveri.h
Examining data/metamath-0.183/mmvstr.c
Examining data/metamath-0.183/mmvstr.h
Examining data/metamath-0.183/mmword.c
Examining data/metamath-0.183/mmword.h
Examining data/metamath-0.183/mmwtex.c
Examining data/metamath-0.183/mmwtex.h

FINAL RESULTS:

data/metamath-0.183/metamath.c:1079:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if (!system(NULL)) {
data/metamath-0.183/metamath.c:1091:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        (void)system(str1);
data/metamath-0.183/mminou.c:237:12:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  bufsiz = vsnprintf(NULL, 0, fmt, ap); /* Get the buffer size we need */
data/metamath-0.183/mminou.c:247:18:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
  charsPrinted = vsprintf(printBuffer, fmt, ap); /* Put formatted string into
data/metamath-0.183/mmvstr.c:139:5:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    strcpy(*target, source);
data/metamath-0.183/mmvstr.c:185:5:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    strcpy(result + argPos[i], arg[i]);
data/metamath-0.183/mmvstr.c:350:3:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
  strcpy(sout,sin);
data/metamath-0.183/mmvstr.c:751:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(sout,"%d-%s-%04d", /* 10-Apr-06 nm 4-digit year */
data/metamath-0.183/mmvstr.c:792:3:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  sprintf(sout,format,
data/metamath-0.183/metamath.c:1114:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            || ((char *)(fullArg[i]))[0] == 0) {
data/metamath-0.183/metamath.c:2957:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      if (((char *)(fullArg[2]))[0] == '*' || briefHtmlFlag) {
data/metamath-0.183/metamath.c:4202:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(str1, statement[showStatement].proofSectionPtr,
data/metamath-0.183/metamath.c:4360:15:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
              memcpy(str3, statement[outStatement].labelSectionPtr,
data/metamath-0.183/metamath.c:4397:15:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
              memcpy(str3, statement[outStatement + 1].labelSectionPtr,
data/metamath-0.183/mmcmdl.c:1946:15:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      tmpFp = fopen(tmpStr, "r");
data/metamath-0.183/mmcmds.c:4917:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(str2, str1 + lstart,
data/metamath-0.183/mmcmds.c:5100:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(str1, statement[1].labelSectionPtr,
data/metamath-0.183/mmdata.c:1200:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, ptr2, (size_t)j);
data/metamath-0.183/mmdata.c:1366:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, tmpStr, (size_t)j);
data/metamath-0.183/mmdata.c:3010:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(description, statement[statemNum].labelSectionPtr,
data/metamath-0.183/mmdata.c:3897:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(textAfterProof, statement[stmtNum + 1].labelSectionPtr,
data/metamath-0.183/mminou.c:1157:10:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp = fopen(fileName, "r");
data/metamath-0.183/mminou.c:1168:10:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp = fopen(fileName, "r");
data/metamath-0.183/mminou.c:1215:12:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      fp = fopen(bakName, "r");
data/metamath-0.183/mminou.c:1224:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          fp = fopen(bakName, "r");
data/metamath-0.183/mminou.c:1233:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          fp = fopen(bakName, "r");
data/metamath-0.183/mminou.c:1243:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          fp = fopen(bakName, "r");
data/metamath-0.183/mminou.c:1263:12:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      fp = fopen(fileName, "w");
data/metamath-0.183/mminou.c:1360:10:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp = fopen(fname, "r");
data/metamath-0.183/mminou.c:1393:13:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  inputFp = fopen(fileName, "rb");
data/metamath-0.183/mminou.c:1416:13:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  inputFp = fopen(fileName, "r");
data/metamath-0.183/mmpars.c:552:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(statement[stmt].labelName, fbPtr, (size_t)j);
data/metamath-0.183/mmpars.c:610:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(allLabelKeyBase, labelKeyBase, (size_t)numLabelKeys * sizeof(long));
data/metamath-0.183/mmpars.c:688:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(tmpPtr, fbPtr + i, (size_t)j);
data/metamath-0.183/mmpars.c:1201:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(wrkStrPtr, fbPtr, (size_t)symbolLen);
data/metamath-0.183/mmpars.c:1570:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(nmbrTmpPtr, wrkVarPtr1, (size_t)reqVars * sizeof(nmbrString));
data/metamath-0.183/mmpars.c:1648:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(nmbrTmpPtr, wrkVarPtr1, (size_t)reqVars * sizeof(nmbrString));
data/metamath-0.183/mmpars.c:1772:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(nmbrTmpPtr, wrkHypPtr3, (size_t)reqHyps * sizeof(nmbrString));
data/metamath-0.183/mmpars.c:1783:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(nmbrTmpPtr, wrkHypPtr2, (size_t)optHyps * sizeof(nmbrString));
data/metamath-0.183/mmpars.c:1822:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(nmbrTmpPtr, wrkDisjHPtr1A, (size_t)reqHyps
data/metamath-0.183/mmpars.c:1830:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(nmbrTmpPtr, wrkDisjHPtr1B, (size_t)reqHyps
data/metamath-0.183/mmpars.c:1838:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(nmbrTmpPtr, wrkDisjHPtr1Stmt, (size_t)reqHyps
data/metamath-0.183/mmpars.c:1851:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(nmbrTmpPtr, wrkDisjHPtr2A, (size_t)optHyps
data/metamath-0.183/mmpars.c:1859:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(nmbrTmpPtr, wrkDisjHPtr2B, (size_t)optHyps
data/metamath-0.183/mmpars.c:1867:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(nmbrTmpPtr, wrkDisjHPtr2Stmt, (size_t)optHyps
data/metamath-0.183/mmpars.c:1891:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(nmbrTmpPtr, wrkVarPtr2, (size_t)optVars * sizeof(nmbrString));
data/metamath-0.183/mmpars.c:2340:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(wrkProof.localLabelPoolPtr, fbPtr, (size_t)tokLength);
data/metamath-0.183/mmpars.c:3049:19:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static unsigned char chrWeight[256]; /* Proof label character weights */
data/metamath-0.183/mmpars.c:3050:19:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static unsigned char chrType[256]; /* Proof character types */
data/metamath-0.183/mmpars.c:3808:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(errLine, startLine, (size_t)(endLine - startLine) + 1);
data/metamath-0.183/mmpars.c:3925:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(errLine, startLine, (size_t)(endLine - startLine) + 1);
data/metamath-0.183/mmpars.c:3973:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
     memcpy(tmpStr,wrkProof.stepSrcPtrPntr[k],
data/metamath-0.183/mmpars.c:4314:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(labelSection, statement[stmt].labelSectionPtr,
data/metamath-0.183/mmpars.c:4340:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(mathSection, statement[stmt].mathSectionPtr,
data/metamath-0.183/mmpars.c:4344:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(proofSection, statement[stmt].proofSectionPtr,
data/metamath-0.183/mmpars.c:5250:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(wrkStrPtr, fbPtr, (size_t)symbolLen);
data/metamath-0.183/mmpars.c:5320:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(wrkStrPtr, fbPtr + 1, (size_t)i - 1);
data/metamath-0.183/mmpars.c:5703:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr/*dest*/, statement[stmt].labelSectionPtr/*source*/,
data/metamath-0.183/mmpars.c:5725:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr/*dest*/, statement[stmt].mathSectionPtr/*source*/,
data/metamath-0.183/mmpars.c:5736:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr/*dest*/, statement[stmt].mathSectionPtr/*source*/,
data/metamath-0.183/mmpars.c:5742:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr/*dest*/, statement[stmt].proofSectionPtr/*source*/,
data/metamath-0.183/mmpars.c:5937:12:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      fp = fopen(fileNameWithPath, "r");
data/metamath-0.183/mmvstr.c:208:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char f[10001]; /* Read in chunks up to 10000 characters */
data/metamath-0.183/mmvstr.c:728:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char *month[12];
data/metamath-0.183/mmvstr.c:771:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char *am_pm[2];
data/metamath-0.183/mmvstr.c:810:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  sprintf(s,"%f", f);
data/metamath-0.183/mmword.c:574:8:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  fp = fopen(fileName, "r");
data/metamath-0.183/mmwtex.c:728:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          tmpFp = fopen(token, "r"); /* See if it exists */
data/metamath-0.183/mmwtex.c:1210:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(token, srcptr, (size_t)i);
data/metamath-0.183/mmwtex.c:1305:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(modeSection, *srcptr, (size_t)(ptr - (*srcptr)));
data/metamath-0.183/mmwtex.c:1317:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(modeSection, *srcptr, (size_t)(ptr - (*srcptr)));
data/metamath-0.183/mmwtex.c:2869:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(sourceLine, lineStart, (size_t)(cmtptr - lineStart));
data/metamath-0.183/mmwtex.c:4712:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(str1, statement[s + 1].labelSectionPtr,
data/metamath-0.183/mmwtex.c:5400:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(labelStr, statement[pos3].labelSectionPtr,
data/metamath-0.183/mmwtex.c:5917:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
  j = sprintf(str1, "%02X%02X%02X", (unsigned int)red, (unsigned int)green,
data/metamath-0.183/metamath.c:707:66:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    print2("Metamath - Version %s%s", MVERSION, space(27 - (long)strlen(MVERSION)));
data/metamath-0.183/metamath.c:1086:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (commandLine[0] == commandLine[strlen(commandLine) - 1]) {
data/metamath-0.183/metamath.c:1087:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            let(&str1, left(str1, (long)(strlen(str1)) - 1));
data/metamath-0.183/metamath.c:1127:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      let(&str1, left(str1, (long)(strlen(str1)) - 1)); /* Trim trailing spc */
data/metamath-0.183/metamath.c:1157:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      let(&str1, left(str1, (long)(strlen(str1)) - 1));
data/metamath-0.183/metamath.c:1372:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            if (p < (signed)(strlen(str1))) p = (long)(strlen(str1));
data/metamath-0.183/metamath.c:1372:56:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            if (p < (signed)(strlen(str1))) p = (long)(strlen(str1));
data/metamath-0.183/metamath.c:1377:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if (list2_fname[strlen(list2_fname) - 2] == '~') {
data/metamath-0.183/metamath.c:1378:54:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          let(&list2_fname, left(list2_fname, (long)(strlen(list2_fname)) - 2));
data/metamath-0.183/metamath.c:1487:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              if (strlen(fullArg[2]) == 0) p1 = 1;
data/metamath-0.183/metamath.c:1489:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              if (strlen(fullArg[3]) == 0) p2 = (long)strlen(str1) + 1;
data/metamath-0.183/metamath.c:1489:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              if (strlen(fullArg[3]) == 0) p2 = (long)strlen(str1) + 1;
data/metamath-0.183/metamath.c:1492:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    + (long)strlen(fullArg[3])), NULL));
data/metamath-0.183/metamath.c:1543:46:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                      right(str2, p1 + (long)strlen(fullArg[2])), NULL));
data/metamath-0.183/metamath.c:1552:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                  p1 = p1 + (long)strlen(newstr) - 1;
data/metamath-0.183/metamath.c:1564:56:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                let(&str2, cat(right(str1, p1) + (long)strlen(fullArg[2]),
data/metamath-0.183/metamath.c:1570:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              if ((signed)(strlen(str2)) < p - 1)
data/metamath-0.183/metamath.c:1571:58:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                let(&str2, cat(str2, space(p - 1 - (long)strlen(str2)), NULL));
data/metamath-0.183/metamath.c:1579:40:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              for (i = 0; i < (signed)(strlen(fullArg[2])); i++) {
data/metamath-0.183/metamath.c:1592:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              for (p = (long)strlen(str2) - 1; p >= 0; p--) {
data/metamath-0.183/metamath.c:1605:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                  if ((long)strlen(str4) + (long)strlen(str2) > 72) {
data/metamath-0.183/metamath.c:1605:50:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                  if ((long)strlen(str4) + (long)strlen(str2) > 72) {
data/metamath-0.183/metamath.c:1635:46:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              let(&str2, cat(space(p - (long)strlen(str2)), str2, NULL));
data/metamath-0.183/metamath.c:1726:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if (list2_fname[strlen(list2_fname) - 2] == '~') {
data/metamath-0.183/metamath.c:1727:53:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          let(&list2_fname, left(list2_fname, (long)strlen(list2_fname) - 2));
data/metamath-0.183/metamath.c:1904:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        j = (long)strlen(str(val(fullArg[2])));
data/metamath-0.183/metamath.c:1905:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        k = (long)strlen(str(val(fullArg[3])));
data/metamath-0.183/metamath.c:1931:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (q < (signed)(strlen(str1))) {
data/metamath-0.183/metamath.c:1932:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            q = (long)strlen(str1);
data/metamath-0.183/metamath.c:1938:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (q == (signed)(strlen(str1))) {
data/metamath-0.183/metamath.c:2760:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        k = ((long)strlen(str2) + MIN_SPACE > j * COL)
data/metamath-0.183/metamath.c:2761:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            ? (long)strlen(str2) + MIN_SPACE : j * COL;
data/metamath-0.183/metamath.c:2763:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if (k + (long)strlen(str1) > screenWidth || linearFlag) {
data/metamath-0.183/metamath.c:2778:50:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            let(&str2, cat(str2, space(k - (long)strlen(str2)), str1, NULL));
data/metamath-0.183/metamath.c:2868:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (str1[strlen(str1)-1] == '\n') let(&str1, left(str1,
data/metamath-0.183/metamath.c:2869:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          (long)strlen(str1) - 1));
data/metamath-0.183/metamath.c:3169:46:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    for (k = 0; k < (signed)(strlen(str1)); k++) {
data/metamath-0.183/metamath.c:3270:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                  if (strlen(str1) > 29)
data/metamath-0.183/metamath.c:3940:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              if ((long)strlen(str3) + 1 +
data/metamath-0.183/metamath.c:3941:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                  (long)strlen(statement[j].labelName) > screenWidth) {
data/metamath-0.183/metamath.c:3949:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (strlen(str3) > 1) print2("%s\n", str3);
data/metamath-0.183/metamath.c:4308:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          l = (long)(strlen(str1)); /* Save length for printout below */
data/metamath-0.183/metamath.c:4377:65:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                statement[outStatement].labelSectionLen = (long)strlen(str3);
data/metamath-0.183/metamath.c:4427:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                      = (long)strlen(str3);
data/metamath-0.183/metamath.c:4557:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                right(printString, (long)strlen(printString) - 3))) {
data/metamath-0.183/metamath.c:4568:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                = (long)strlen(printString) - 3;
data/metamath-0.183/metamath.c:6440:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      origCompressedLength = (long)strlen(str1);
data/metamath-0.183/metamath.c:6635:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    = (long)strlen(str1) - 2;
data/metamath-0.183/metamath.c:6717:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              newCompressedLength = (long)strlen(str1);
data/metamath-0.183/metamath.c:6773:65:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              statement[proveStatement].proofSectionLen = (long)strlen(str1) - 2;
data/metamath-0.183/metamath.c:7278:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        q = (long)strlen(str1);
data/metamath-0.183/metamath.c:7367:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          j = j + ((long)strlen(str1) / 2); /* Center of match location */
data/metamath-0.183/metamath.c:7368:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          p = screenWidth - 7 - (long)strlen(str((double)i)) - (long)strlen(statement[i].labelName);
data/metamath-0.183/metamath.c:7368:70:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          p = screenWidth - 7 - (long)strlen(str((double)i)) - (long)strlen(statement[i].labelName);
data/metamath-0.183/metamath.c:7370:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          q = (long)strlen(str2); /* Length of comment */
data/metamath-0.183/metamath.c:7410:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          q = (long)strlen(str2);
data/metamath-0.183/metamath.c:7587:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (rootDirectory[strlen(rootDirectory) - 1] != '\\') {
data/metamath-0.183/metamath.c:7591:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (rootDirectory[strlen(rootDirectory) - 1] != '/') {
data/metamath-0.183/metamath.c:7804:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                MAX_LEN - (long)strlen(str((double)j)) - 3))) break;
data/metamath-0.183/mmcmds.c:172:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        || (str1[0] == '[' && str1[strlen(str1) - 1] == ']')
data/metamath-0.183/mmcmds.c:174:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        || (strlen(str1) > 1 &&
data/metamath-0.183/mmcmds.c:175:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            str1[1] == '[' && str1[strlen(str1) - 2] == ']') /* Make sure
data/metamath-0.183/mmcmds.c:451:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              let(&str3, space((long)strlen(str2)));
data/metamath-0.183/mmcmds.c:534:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        let(&str3, space((long)strlen(str2))); /* 3rd argument of printTexLongMath
data/metamath-0.183/mmcmds.c:767:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (!strlen(str1)) let(&str1, "(None)");
data/metamath-0.183/mmcmds.c:784:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (!strlen(str1)) let(&str1, "(None)");
data/metamath-0.183/mmcmds.c:926:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          statement[showStmt].proofSectionLen = (long)strlen(str1) - 1;
data/metamath-0.183/mmcmds.c:1134:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (strlen(str2) > 5000) {
data/metamath-0.183/mmcmds.c:1908:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    lent = (long)strlen(statement[targetHyps[step]].labelName);
data/metamath-0.183/mmcmds.c:1914:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        lens = (long)strlen(str((double)(localLabelNames[stmt])));
data/metamath-0.183/mmcmds.c:1931:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      lens = (long)strlen(statement[stmt].labelName);
data/metamath-0.183/mmcmds.c:2096:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            space(maxStepNumLen - (long)strlen(str((double)(stepRenumber[step])))),
data/metamath-0.183/mmcmds.c:2100:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            space(splitColumn - (long)strlen(srcLabel) - (long)strlen(locLabDecl) - 1
data/metamath-0.183/mmcmds.c:2100:64:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            space(splitColumn - (long)strlen(srcLabel) - (long)strlen(locLabDecl) - 1
data/metamath-0.183/mmcmds.c:2107:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxStepNumLen - (long)strlen(str((double)(stepRenumber[step])))),
data/metamath-0.183/mmcmds.c:2108:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space((long)strlen(str((double)(stepRenumber[step])))),
data/metamath-0.183/mmcmds.c:2114:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxStepNumLen - (long)strlen(str((double)(stepRenumber[step])))),
data/metamath-0.183/mmcmds.c:2115:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space((long)strlen(str((double)(stepRenumber[step])))),
data/metamath-0.183/mmcmds.c:2118:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(splitColumn - (long)strlen("(User)") - 1
data/metamath-0.183/mmcmds.c:2122:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        let(&contPrefix, space((long)strlen(startPrefix) + 4));
data/metamath-0.183/mmcmds.c:2134:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              - (long)(strlen(tmpStr))), NULL));
data/metamath-0.183/mmcmds.c:2138:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            space(maxStepNumLen - (long)strlen(str((double)(stepRenumber[step])))),
data/metamath-0.183/mmcmds.c:2148:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                - (long)strlen(locLabDecl)),
data/metamath-0.183/mmcmds.c:2152:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            space(maxLabelLen - (long)strlen(tgtLabel)
data/metamath-0.183/mmcmds.c:2153:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                - (long)strlen(srcLabel)),
data/metamath-0.183/mmcmds.c:2158:68:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(indentationLevel[step] * PF_INDENT_INC - (long)strlen(locLabDecl)),
data/metamath-0.183/mmcmds.c:2161:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space((long)strlen(srcLabel)),
data/metamath-0.183/mmcmds.c:2162:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxLabelLen - (long)strlen(tgtLabel) - (long)strlen(srcLabel)),
data/metamath-0.183/mmcmds.c:2162:66:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxLabelLen - (long)strlen(tgtLabel) - (long)strlen(srcLabel)),
data/metamath-0.183/mmcmds.c:2166:68:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(indentationLevel[step] * PF_INDENT_INC - (long)strlen(locLabDecl)),
data/metamath-0.183/mmcmds.c:2167:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space((long)strlen(locLabDecl)),
data/metamath-0.183/mmcmds.c:2168:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space((long)strlen(tgtLabel)),
data/metamath-0.183/mmcmds.c:2170:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxLabelLen - (long)strlen(tgtLabel) - (long)strlen(srcLabel)),
data/metamath-0.183/mmcmds.c:2170:66:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxLabelLen - (long)strlen(tgtLabel) - (long)strlen(srcLabel)),
data/metamath-0.183/mmcmds.c:2174:68:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(indentationLevel[step] * PF_INDENT_INC - (long)strlen(locLabDecl)),
data/metamath-0.183/mmcmds.c:2175:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space((long)strlen(locLabDecl)),
data/metamath-0.183/mmcmds.c:2176:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space((long)strlen(tgtLabel)),
data/metamath-0.183/mmcmds.c:2178:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxLabelLen - (long)strlen(tgtLabel) - (long)strlen("=(User)")),
data/metamath-0.183/mmcmds.c:2178:66:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(maxLabelLen - (long)strlen(tgtLabel) - (long)strlen("=(User)")),
data/metamath-0.183/mmcmds.c:2510:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if ((signed)(strlen(statementUsedFlags)) != statements + 1) bug(227);
data/metamath-0.183/mmcmds.c:2877:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              space(9 - (long)strlen(
data/metamath-0.183/mmcmds.c:2909:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            space(9 - (long)strlen(
data/metamath-0.183/mmcmds.c:3100:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            let(&str3, space((long)strlen(str2)));
data/metamath-0.183/mmcmds.c:3117:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        let(&str3, space((long)strlen(str2)));
data/metamath-0.183/mmcmds.c:3181:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if ((signed)(strlen(statementUsedFlags)) != statements + 1) bug(226);
data/metamath-0.183/mmcmds.c:3785:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
       strlen(stepBigCount) < 6 ? ""
data/metamath-0.183/mmcmds.c:3792:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                 str((double)strlen(stepBigCount) - 1), NULL),
data/metamath-0.183/mmcmds.c:3846:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  len1 = (long)strlen(bignum1);
data/metamath-0.183/mmcmds.c:3847:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  len2 = (long)strlen(bignum2);
data/metamath-0.183/mmcmds.c:3887:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  len1 = (long)strlen(bignum1);
data/metamath-0.183/mmcmds.c:3894:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  len3 = (long)strlen(bignum3);
data/metamath-0.183/mmcmds.c:4545:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for (i = 1; i <= (long)strlen(header); i++) {
data/metamath-0.183/mmcmds.c:4555:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for (i = 1; i <= (long)strlen(header); i++) {
data/metamath-0.183/mmcmds.c:4582:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      lineLen = lineLen + (long)strlen(statement[i].labelName) + 1;
data/metamath-0.183/mmcmds.c:4584:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        lineLen = (long)strlen(statement[i].labelName) + 1;
data/metamath-0.183/mmcmds.c:5068:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    p1 = (long)strlen(statement[stmtNum].labelName);
data/metamath-0.183/mmcmds.c:5412:56:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  } else if (!strcmp(relStepCaps, left("FIRST", (long)(strlen(relStepCaps))))) {
data/metamath-0.183/mmcmds.c:5415:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  } else if (!strcmp(relStepCaps, left("LAST", (long)(strlen(relStepCaps))))) {
data/metamath-0.183/mmcmds.c:5433:54:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  } else if (!strcmp(relStepCaps, left("ALL", (long)(strlen(relStepCaps))))) {
data/metamath-0.183/mmdata.c:1192:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    outputLen = outputLen + (long)strlen(mathToken[s[i]].tokenName) + 1;
data/metamath-0.183/mmdata.c:1199:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    j = (long)strlen(ptr2);
data/metamath-0.183/mmdata.c:1275:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if ((signed)(strlen(statement[stmt].labelName)) > maxLabelLen) {
data/metamath-0.183/mmdata.c:1276:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          maxLabelLen = (long)strlen(statement[stmt].labelName);
data/metamath-0.183/mmdata.c:1286:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if ((signed)(strlen(statement[stmt].labelName)) > maxTargetLabelLen) {
data/metamath-0.183/mmdata.c:1287:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        maxTargetLabelLen = (long)strlen(statement[stmt].labelName);
data/metamath-0.183/mmdata.c:1365:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    j = (long)strlen(tmpStr);
data/metamath-0.183/mmdata.c:1923:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  lettersLen = (long)strlen(letters);
data/metamath-0.183/mmdata.c:1924:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  digitsLen = (long)strlen(digits);
data/metamath-0.183/mmdata.c:2078:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    explLabelLen[i] = (long)(strlen(statement[stmt].labelName)) + 1;
data/metamath-0.183/mmdata.c:2372:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  bytes = (long)strlen(tmpStr);
data/metamath-0.183/mmdata.c:3252:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if ((long)strlen(commentSearchedFlags) != statements + 1) {
data/metamath-0.183/mmdata.c:3289:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if ((long)strlen(commentSearchedFlags) != statements + 1) {
data/metamath-0.183/mmdata.c:3343:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      cStart = cStart + (long)strlen(CONTRIB_MATCH); /* Start of contributor */
data/metamath-0.183/mmdata.c:3375:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if (firstR == 0) firstR = p + (long)strlen(REVISE_MATCH);
data/metamath-0.183/mmdata.c:3380:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      rStart = rStart + (long)strlen(REVISE_MATCH); /* Start of reviser */
data/metamath-0.183/mmdata.c:3405:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if (firstS == 0) firstS = p + (long)strlen(SHORTEN_MATCH);
data/metamath-0.183/mmdata.c:3410:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      sStart = sStart + (long)strlen(SHORTEN_MATCH); /* Start of shortener */
data/metamath-0.183/mminou.c:152:18:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      c = (char)(getchar());
data/metamath-0.183/mminou.c:167:11:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (getchar() == '\n') {
data/metamath-0.183/mminou.c:212:36:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while (c != '\n') c = (char)(getchar());
data/metamath-0.183/mminou.c:285:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  lineLen = (long)strlen(printBuffer);
data/metamath-0.183/mminou.c:502:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  j = (long)strlen(multiLine);
data/metamath-0.183/mminou.c:620:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    startNextLineLen = (long)strlen(startNextLine1);
data/metamath-0.183/mminou.c:626:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    while ((signed)(strlen(longLine)) + (1 - firstLine) * startNextLineLen >
data/metamath-0.183/mminou.c:634:47:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          && ((!instr(p, left(longLine, (long)strlen(longLine) - 3), " ")
data/metamath-0.183/mminou.c:760:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            - startNextLineLen - (long)(strlen(longLine))), longLine, NULL));
data/metamath-0.183/mminou.c:814:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = (long)strlen(g);
data/metamath-0.183/mminou.c:924:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  while ((signed)(strlen(ask1)) > screenWidth) {
data/metamath-0.183/mminou.c:932:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if ((signed)(strlen(ask1)) > screenWidth - 10) {
data/metamath-0.183/mminou.c:1054:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (line[strlen(line) - 1] != '\n') {
data/metamath-0.183/mminou.c:1528:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  i = (long)strlen(fileBuf);
data/metamath-0.183/mminou.c:1536:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          (*charCount), strlen(fileBuf));
data/metamath-0.183/mmpars.c:3078:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    lettersLen = (long)strlen(letters);
data/metamath-0.183/mmpars.c:3079:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    digitsLen = (long)strlen(digits);
data/metamath-0.183/mmpars.c:3985:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for (m = (long)strlen(tmpStr2); m > 0; m--) { /* Find last comma */
data/metamath-0.183/mmpars.c:4105:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            return(i + (long)strlen(&ptr[i])); /* Unterminated comment - goto EOF */
data/metamath-0.183/mmpars.c:4405:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          pos = (long)strlen(labelSection) + 1;
data/metamath-0.183/mmpars.c:4422:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            if (dollarDpos + 2 + (signed)(strlen(mathSection)) + 4
data/metamath-0.183/mmpars.c:4425:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              dollarDpos = dollarDpos + 2 + (long)strlen(mathSection) + 4;
data/metamath-0.183/mmpars.c:4428:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              dollarDpos = indent + (long)strlen(mathSection) + 4;
data/metamath-0.183/mmpars.c:4431:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            dollarDpos = indent + (long)strlen(mathSection) + 4;
data/metamath-0.183/mmpars.c:4548:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          pos = (long)strlen(labelSection) + 1;
data/metamath-0.183/mmpars.c:4617:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          length = (long)strlen(comment);
data/metamath-0.183/mmpars.c:4655:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          pos = (long)strlen(labelSection) + 1;
data/metamath-0.183/mmpars.c:4810:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    statement[stmt].labelSectionLen = (long)strlen(labelSection);
data/metamath-0.183/mmpars.c:4821:44:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    statement[stmt].mathSectionLen = (long)strlen(mathSection);
data/metamath-0.183/mmpars.c:4835:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    statement[stmt].proofSectionLen = (long)strlen(proofSection);
data/metamath-0.183/mmpars.c:4941:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  length = (long)strlen(comment);
data/metamath-0.183/mmpars.c:4951:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    length = (long)strlen(comment);
data/metamath-0.183/mmpars.c:4963:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  length = (long)strlen(comment);
data/metamath-0.183/mmpars.c:5006:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = (long)strlen(proofDiscouragedMarkup);
data/metamath-0.183/mmpars.c:5015:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = (long)strlen(usageDiscouragedMarkup);
data/metamath-0.183/mmpars.c:5052:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  length = (long)strlen(comment);
data/metamath-0.183/mmpars.c:5204:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  wrkLen = (long)strlen(userText);
data/metamath-0.183/mmpars.c:5622:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      i = (long)strlen(fileBuf); /* Slow, but this is a rare error */
data/metamath-0.183/mmpars.c:5861:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      startOffset = cmdPos1 - 1 + (long)strlen(tmpStr1);
data/metamath-0.183/mmpars.c:5868:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      startOffset = cmdPos1 - 1 + (long)strlen(tmpStr1);
data/metamath-0.183/mmpars.c:6218:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              fileBufOffset + cmdPos1 - 1 + (long)strlen(inclPrefix), /*new offset*/
data/metamath-0.183/mmpars.c:6224:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          newInclSize = (long)strlen(inclPrefix) + inclSize +
data/metamath-0.183/mmpars.c:6225:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                (long)strlen(inclSuffix); /* Includes new prefix and suffix */
data/metamath-0.183/mmpars.c:6276:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              fileBufOffset + cmdPos1 - 1 + (long)strlen(inclPrefix), /*new offset*/
data/metamath-0.183/mmpars.c:6289:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          *size = *size - (cmdPos2 - cmdPos1) + (long)strlen(inclPrefix)
data/metamath-0.183/mmpars.c:6290:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              + inclSize + (long)strlen(inclSuffix);
data/metamath-0.183/mmpars.c:6291:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          newInclSize = (long)strlen(inclPrefix) + inclSize +
data/metamath-0.183/mmpars.c:6292:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                (long)strlen(inclSuffix); /* Includes new prefix and suffix */
data/metamath-0.183/mmpars.c:6340:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              fileBufOffset + cmdPos1 - 1 + (long)strlen(inclPrefix), /*new offset*/
data/metamath-0.183/mmpars.c:6348:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          newInclSize = (long)strlen(inclPrefix) + inclSize +
data/metamath-0.183/mmpars.c:6349:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                (long)strlen(inclSuffix); /* Includes new prefix and suffix */
data/metamath-0.183/mmpars.c:6350:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          *size = *size - (cmdPos2 - cmdPos1) + (long)strlen(inclPrefix)
data/metamath-0.183/mmpars.c:6351:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              + inclSize + (long)strlen(inclSuffix);
data/metamath-0.183/mmpars.c:6379:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                (long)strlen(inclSource));
data/metamath-0.183/mmpars.c:6382:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                (long)strlen(oldSource));
data/metamath-0.183/mmpars.c:6406:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          newInclSize = (long)strlen(inclPrefix); /* Includes new prefix and suffix */
data/metamath-0.183/mmpars.c:6436:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          newInclSize = (long)strlen(inclPrefix); /* Includes new prefix and suffix */
data/metamath-0.183/mmpars.c:6437:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          *size = *size - (cmdPos2 - cmdPos1) + (long)strlen(inclPrefix);
data/metamath-0.183/mmpars.c:6478:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        + (long)strlen(inclPrefix) - 1; /* This is the starting character position
data/metamath-0.183/mmpfas.c:3299:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        (long)strlen(mathToken[mathTokens + dummyVars].tokenName);
data/metamath-0.183/mmvstr.c:56:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
/*E*/INCDB1(-1 - (long)strlen(tempAllocStack[i]));
data/metamath-0.183/mmvstr.c:100:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
/*E*/INCDB1((long)strlen(s) + 1);
data/metamath-0.183/mmvstr.c:101:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
/*E*/db-=(long)strlen(s) + 1;
data/metamath-0.183/mmvstr.c:115:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  size_t sourceLength = strlen(source);  /* Save its length */
data/metamath-0.183/mmvstr.c:116:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  size_t targetLength = strlen(*target); /* Save its length */
data/metamath-0.183/mmvstr.c:177:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    pos += strlen(curArg);
data/metamath-0.183/mmvstr.c:220:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    size_t endpos = strlen(f) - 1;
data/metamath-0.183/mmvstr.c:244:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return ((long)strlen(s));
data/metamath-0.183/mmvstr.c:263:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(sout,sin + start - 1, (size_t)length);
data/metamath-0.183/mmvstr.c:280:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  return seg(sin, n, (long)(strlen(sin)));
data/metamath-0.183/mmvstr.c:347:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  i = (long)strlen(sin) + 1;
data/metamath-0.183/mmvstr.c:510:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    k = (long)strlen(sout);
data/metamath-0.183/mmvstr.c:548:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    k = (long)strlen(sout);
data/metamath-0.183/mmvstr.c:626:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  ls1 = (long)strlen(string1);
data/metamath-0.183/mmvstr.c:627:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  ls2 = (long)strlen(string2);
data/metamath-0.183/mmvstr.c:669:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  len_sin = (long)strlen(sin);
data/metamath-0.183/mmvstr.c:670:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  len_table = (long)strlen(table);
data/metamath-0.183/mmvstr.c:698:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  for (i = (long)strlen(s); i >= 0; i--) {
data/metamath-0.183/mmvstr.c:812:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for (i = (long)strlen(s) - 1; i > 0; i--) {  /* Scan string backwards */
data/metamath-0.183/mmvstr.c:817:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
/*E*/INCDB1(-(49 - (long)strlen(s)));
data/metamath-0.183/mmvstr.c:879:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(sout, list + lastComma + 1, (size_t)length);
data/metamath-0.183/mmword.c:412:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          (long)strlen(edit(delStartTag_, 2))))) {
data/metamath-0.183/mmword.c:422:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            (long)strlen(edit(delEndTag_, 2))))  &&
data/metamath-0.183/mmword.c:519:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (i && j == (signed)(strlen(line1)) - 1) {
data/metamath-0.183/mmword.c:522:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    for (k = 0; k < (signed)(strlen(comment)); k++) {
data/metamath-0.183/mmword.c:538:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ((long)strlen(line1) - n < lineLength - 1 - (long)strlen(tag))
data/metamath-0.183/mmword.c:538:58:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ((long)strlen(line1) - n < lineLength - 1 - (long)strlen(tag))
data/metamath-0.183/mmword.c:540:40:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          space(lineLength - 1 - (long)strlen(tag) - (long)strlen(line1) + n),
data/metamath-0.183/mmword.c:540:60:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          space(lineLength - 1 - (long)strlen(tag) - (long)strlen(line1) + n),
data/metamath-0.183/mmword.c:543:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ((signed)(strlen(line1)) - n > lineLength) {
data/metamath-0.183/mmword.c:556:48:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      let(&line1, cat(space(lineLength - (long)strlen(tag)), tag, "\n",
data/metamath-0.183/mmword.c:602:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    let(&tag, edit(seg(str1, (long)strlen(str2) + 3,
data/metamath-0.183/mmword.c:603:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        (long)strlen(str1) - 2), 2));
data/metamath-0.183/mmwtex.c:236:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  j = (long)strlen(fileBuf);
data/metamath-0.183/mmwtex.c:409:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          j = (long)strlen(token);
data/metamath-0.183/mmwtex.c:503:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          j = (long)strlen(partialToken);
data/metamath-0.183/mmwtex.c:827:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  j = (long)strlen(htmlTitle);
data/metamath-0.183/mmwtex.c:857:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    j = (long)strlen(extHtmlTitle);
data/metamath-0.183/mmwtex.c:915:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            return(i + (long)strlen(&ptr[i])); /* Unterminated comment - goto EOF */
data/metamath-0.183/mmwtex.c:950:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        return(i + (long)strlen(&ptr[i])); /* Unterminated quote - goto EOF */
data/metamath-0.183/mmwtex.c:960:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        return(i + (long)strlen(&ptr[i])); /* Unterminated quote - goto EOF */
data/metamath-0.183/mmwtex.c:1006:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  j = (long)strlen(ttstr);
data/metamath-0.183/mmwtex.c:1160:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    j = (long)strlen(tex);
data/metamath-0.183/mmwtex.c:1166:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        k = (long)strlen(tmpStr);
data/metamath-0.183/mmwtex.c:1496:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        (long)strlen(PINK_NUMBER_COLOR) - 1), ";", NULL), "", "&");
data/metamath-0.183/mmwtex.c:1560:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          left(texFileName, (long)strlen(texFileName) - 5),
data/metamath-0.183/mmwtex.c:1568:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          left(texFileName, (long)strlen(texFileName) - 5),
data/metamath-0.183/mmwtex.c:1611:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          left(texFileName, (long)strlen(texFileName) - 5),
data/metamath-0.183/mmwtex.c:1876:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          left(texFileName, (long)strlen(texFileName) - 5));
data/metamath-0.183/mmwtex.c:2063:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (!i) i = (long)strlen(cmtptr) + 1;  /* If it's a stand-alone string */
data/metamath-0.183/mmwtex.c:2065:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = (long)strlen(cmtptr) + 1;
data/metamath-0.183/mmwtex.c:2099:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (!pos1) pos1 = (long)strlen(cmt) + 1;
data/metamath-0.183/mmwtex.c:2233:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    pos2 = (long)strlen(cmt);
data/metamath-0.183/mmwtex.c:2265:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        pos1 += (long)strlen(tmpStr) - 1;
data/metamath-0.183/mmwtex.c:2266:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        pos2 += (long)strlen(tmpStr) - 1;
data/metamath-0.183/mmwtex.c:2605:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        pos1 = pos1 + (long)strlen(tmp) - (long)strlen(bibTag); /* Adjust comment position */
data/metamath-0.183/mmwtex.c:2605:49:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        pos1 = pos1 + (long)strlen(tmp) - (long)strlen(bibTag); /* Adjust comment position */
data/metamath-0.183/mmwtex.c:2613:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (strlen(cmt) != strlen(cmtMasked)) bug(2334); /* Should be in sync */
data/metamath-0.183/mmwtex.c:2613:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (strlen(cmt) != strlen(cmtMasked)) bug(2334); /* Should be in sync */
data/metamath-0.183/mmwtex.c:2618:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  clen = (long)strlen(cmt);
data/metamath-0.183/mmwtex.c:2681:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (strlen(tmp) < 8)
data/metamath-0.183/mmwtex.c:2682:50:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              let(&tmp, cat(tmp, space(8 - (long)strlen(tmp)), NULL));
data/metamath-0.183/mmwtex.c:2784:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ((signed)(strlen(cmt)) != clen) {
data/metamath-0.183/mmwtex.c:2809:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = (long)strlen(tmpStr);
data/metamath-0.183/mmwtex.c:2826:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = (long)strlen(tmpStr);
data/metamath-0.183/mmwtex.c:2875:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (!strcmp(right(tmpStr, (long)strlen(tmpStr) - 1), cat(chr(DOLLAR_SUBST), "n",
data/metamath-0.183/mmwtex.c:2876:49:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        NULL))) let(&tmpStr, left(tmpStr, (long)strlen(tmpStr) - 2)); /* Strip $n */
data/metamath-0.183/mmwtex.c:3172:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        i = (long)strlen(printString);
data/metamath-0.183/mmwtex.c:3278:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(sPrefix)) { /* It's a proof step */
data/metamath-0.183/mmwtex.c:3383:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      i = (long)strlen(tex);
data/metamath-0.183/mmwtex.c:3404:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(sPrefix)) { /* It's a proof step */
data/metamath-0.183/mmwtex.c:3485:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          if (strlen(descr) > MAX_DESCR_LEN) { /* Truncate long lines */
data/metamath-0.183/mmwtex.c:3791:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        (long)strlen(PINK_NUMBER_COLOR) - 1), ";", NULL), "", "&");
data/metamath-0.183/mmwtex.c:3997:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    s = (long)strlen(htmlTitle);
data/metamath-0.183/mmwtex.c:4627:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    let(&str3, right(str3, (long)strlen(PINK_NBSP) + 1)); /* Discard "&nbsp;" */
data/metamath-0.183/mmwtex.c:4632:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    let(&str4, right(str4, (long)strlen(PINK_NBSP) + 1)); /* Discard "&nbsp;" */
data/metamath-0.183/mmwtex.c:5690:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  let(&str3, right(str3, (long)strlen(PINK_NBSP) + 1)); /* Discard "&nbsp;" */
data/metamath-0.183/mmwtex.c:5693:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  let(&str4, right(str4, (long)strlen(PINK_NBSP) + 1)); /* Discard "&nbsp;" */
data/metamath-0.183/mmwtex.c:6332:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      l = (signed)(strlen(str1));
data/metamath-0.183/mmwtex.c:6343:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      l = (signed)(strlen(str1));
data/metamath-0.183/mmwtex.c:6370:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          for (k = j + 4; k <= (signed)(strlen(str1)) + 1; k++) {
data/metamath-0.183/mmwtex.c:6423:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("THEOREM")), "THEOREM")
data/metamath-0.183/mmwtex.c:6424:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("EQUATION")), "EQUATION")
data/metamath-0.183/mmwtex.c:6425:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("DEFINITION")), "DEFINITION")
data/metamath-0.183/mmwtex.c:6426:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("LEMMA")), "LEMMA")
data/metamath-0.183/mmwtex.c:6427:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("EXERCISE")), "EXERCISE")
data/metamath-0.183/mmwtex.c:6428:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("AXIOM")), "AXIOM")
data/metamath-0.183/mmwtex.c:6430:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("CLAIM")), "CLAIM")
data/metamath-0.183/mmwtex.c:6431:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("CHAPTER")), "CHAPTER")
data/metamath-0.183/mmwtex.c:6432:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("COMPARE")), "COMPARE")
data/metamath-0.183/mmwtex.c:6433:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("CONDITION")), "CONDITION")
data/metamath-0.183/mmwtex.c:6434:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("COROLLARY")), "COROLLARY")
data/metamath-0.183/mmwtex.c:6435:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("EXAMPLE")), "EXAMPLE")
data/metamath-0.183/mmwtex.c:6436:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("FIGURE")), "FIGURE")
data/metamath-0.183/mmwtex.c:6437:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("ITEM")), "ITEM")
data/metamath-0.183/mmwtex.c:6438:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("LEMMAS")), "LEMMAS")
data/metamath-0.183/mmwtex.c:6439:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("LINE")), "LINE")
data/metamath-0.183/mmwtex.c:6440:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("LINES")), "LINES")
data/metamath-0.183/mmwtex.c:6441:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("NOTATION")), "NOTATION")
data/metamath-0.183/mmwtex.c:6442:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("NOTE")), "NOTE")
data/metamath-0.183/mmwtex.c:6443:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("OBSERVATION")), "OBSERVATION")
data/metamath-0.183/mmwtex.c:6444:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("PART")), "PART")
data/metamath-0.183/mmwtex.c:6445:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("POSTULATE")), "POSTULATE")
data/metamath-0.183/mmwtex.c:6446:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("PROBLEM")), "PROBLEM")
data/metamath-0.183/mmwtex.c:6447:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("PROPERTY")), "PROPERTY")
data/metamath-0.183/mmwtex.c:6448:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("PROPOSITION")), "PROPOSITION")
data/metamath-0.183/mmwtex.c:6449:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("REMARK")), "REMARK")
data/metamath-0.183/mmwtex.c:6450:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("RULE")), "RULE")
data/metamath-0.183/mmwtex.c:6451:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("SCHEME")), "SCHEME")
data/metamath-0.183/mmwtex.c:6452:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("SECTION")), "SECTION")
data/metamath-0.183/mmwtex.c:6454:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("PROOF")), "PROOF")
data/metamath-0.183/mmwtex.c:6455:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen("STATEMENT")), "STATEMENT")
data/metamath-0.183/mmwtex.c:6504:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        for (k = (long)strlen(str2); k >=1; k--) {
data/metamath-0.183/mmwtex.c:6506:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen(" of ")), " of ")
data/metamath-0.183/mmwtex.c:6507:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen(" in ")), " in ")
data/metamath-0.183/mmwtex.c:6508:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen(" from ")), " from ")
data/metamath-0.183/mmwtex.c:6509:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
              || !strcmp(mid(str2, k, (long)strlen(" on ")), " on ")
data/metamath-0.183/mmwtex.c:6522:47:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            str3, " ", str4, space(20 - (long)strlen(str2)), str2,

ANALYSIS SUMMARY:

Hits = 390
Lines analyzed = 47913 in approximately 1.53 seconds (31349 lines/second)
Physical Source Lines of Code (SLOC) = 30766
Hits@level = [0] 170 [1] 315 [2]  66 [3]   0 [4]   9 [5]   0
Hits@level+ = [0+] 560 [1+] 390 [2+]  75 [3+]   9 [4+]   9 [5+]   0
Hits/KSLOC@level+ = [0+] 18.2019 [1+] 12.6763 [2+] 2.43776 [3+] 0.292531 [4+] 0.292531 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.