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/ruby-commonmarker-0.21.0/ext/commonmarker/tasklist.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/syntax_extension.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmarker.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/html.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/utf8.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/parser.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark-gfm_version.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/config.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/iterator.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/houdini_html_u.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/linked_list.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/footnotes.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/ext_scanners.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/ext_scanners.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmarker.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/latex.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/syntax_extension.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/html.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark-gfm.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/references.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark-gfm-core-extensions.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/houdini.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/autolink.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/xml.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark-gfm_export.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/man.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/iterator.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/houdini_href_e.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/chunk.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/buffer.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/inlines.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark_ctype.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/render.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/node.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/blocks.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/tagfilter.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark-gfm-extension_api.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/strikethrough.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/table.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/buffer.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/plaintext.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/registry.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/tasklist.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/map.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/core-extensions.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/arena.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/scanners.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/scanners.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark_ctype.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/registry.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/strikethrough.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/footnotes.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/references.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/node.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/render.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/plugin.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/inlines.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/houdini_html_e.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/cmark-gfm-extensions_export.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/table.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/utf8.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/tagfilter.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/autolink.h
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/plugin.c
Examining data/ruby-commonmarker-0.21.0/ext/commonmarker/map.c

FINAL RESULTS:

data/ruby-commonmarker-0.21.0/ext/commonmarker/config.h:43:9:  [4] (format) snprintf:
  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.
#define snprintf c99_snprintf
data/ruby-commonmarker-0.21.0/ext/commonmarker/config.h:44:9:  [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.
#define vsnprintf c99_vsnprintf
data/ruby-commonmarker-0.21.0/ext/commonmarker/syntax_extension.c:25: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(res->name, name);
data/ruby-commonmarker-0.21.0/ext/commonmarker/arena.c:90: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(new_ptr, ptr, ((size_t *) ptr)[-1]);
data/ruby-commonmarker-0.21.0/ext/commonmarker/autolink.c:29:40:  [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 (link_len > len && strncasecmp((char *)link, valid_uris[i], len) == 0 &&
data/ruby-commonmarker-0.21.0/ext/commonmarker/blocks.c:488:9:  [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 n[32];
data/ruby-commonmarker-0.21.0/ext/commonmarker/blocks.c:639:12:  [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.
  unsigned char buffer[4096];
data/ruby-commonmarker-0.21.0/ext/commonmarker/blocks.c:1249: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(&((*container)->as.list), data, sizeof(*data));
data/ruby-commonmarker-0.21.0/ext/commonmarker/blocks.c:1256: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(&((*container)->as.list), data, sizeof(*data));
data/ruby-commonmarker-0.21.0/ext/commonmarker/buffer.c:17:10:  [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.
unsigned char cmark_strbuf__initbuf[1];
data/ruby-commonmarker-0.21.0/ext/commonmarker/chunk.h:70: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(str, c->data, c->len);
data/ruby-commonmarker-0.21.0/ext/commonmarker/chunk.h:90: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(c->data, str, c->len + 1);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:32: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 encoded[ENCODED_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:180: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 fencechar[2] = {'\0', '\0'};
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:182: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 listmarker[LISTMARKER_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:489:7:  [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 n[32];
data/ruby-commonmarker-0.21.0/ext/commonmarker/houdini_html_u.c:16:22:  [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.
      strncmp((const char *)s, (const char *)cmark_entities[i].entity, len);
data/ruby-commonmarker-0.21.0/ext/commonmarker/houdini_html_u.c:16:39:  [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.
      strncmp((const char *)s, (const char *)cmark_entities[i].entity, len);
data/ruby-commonmarker-0.21.0/ext/commonmarker/houdini_html_u.c:18:28:  [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.
    return (const unsigned char *)cmark_entities[i].bytes;
data/ruby-commonmarker-0.21.0/ext/commonmarker/html.c:68: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 n[32];
data/ruby-commonmarker-0.21.0/ext/commonmarker/html.c:87: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 buffer[BUFFER_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/html.c:399:7:  [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 n[32];
data/ruby-commonmarker-0.21.0/ext/commonmarker/html.h:17: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 buffer[BUFFER_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/inlines.c:122: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(c.data, src->data, len);
data/ruby-commonmarker-0.21.0/ext/commonmarker/inlines.c:1505:19:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  return (char *) memcpy (result, s, len);
data/ruby-commonmarker-0.21.0/ext/commonmarker/latex.c:226: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 list_number_string[LIST_NUMBER_STRING_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/man.c:132:9:  [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 list_number_s[LIST_NUMBER_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/plaintext.c:40: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 listmarker[LISTMARKER_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/plaintext.c:206:7:  [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 n[32];
data/ruby-commonmarker-0.21.0/ext/commonmarker/strikethrough.c:12: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 buffer[101];
data/ruby-commonmarker-0.21.0/ext/commonmarker/table.c:784: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(a, alignments, ncols);
data/ruby-commonmarker-0.21.0/ext/commonmarker/xml.c:40: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 buffer[BUFFER_SIZE];
data/ruby-commonmarker-0.21.0/ext/commonmarker/autolink.c:27: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).
    size_t len = strlen(valid_uris[i]);
data/ruby-commonmarker-0.21.0/ext/commonmarker/autolink.c:160: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).
  if (size < 4 || memcmp(data, "www.", strlen("www.")) != 0)
data/ruby-commonmarker-0.21.0/ext/commonmarker/autolink.c:220: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).
  link_end = strlen("://");
data/ruby-commonmarker-0.21.0/ext/commonmarker/buffer.c:98: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).
                   string ? (bufsize_t)strlen(string) : 0);
data/ruby-commonmarker-0.21.0/ext/commonmarker/buffer.c:119:67:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  cmark_strbuf_put(buf, (const unsigned char *)string, (bufsize_t)strlen(string));
data/ruby-commonmarker-0.21.0/ext/commonmarker/chunk.h:87: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).
    c->len = (bufsize_t)strlen(str);
data/ruby-commonmarker-0.21.0/ext/commonmarker/chunk.h:98: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).
  bufsize_t len = data ? (bufsize_t)strlen(data) : 0;
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:65: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).
      renderer->column += (int)strlen(encoded);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:76: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 code_len = strlen(code);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:97: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 code_len = strlen(code);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:250: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).
      marker_width = (bufsize_t)strlen(listmarker);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:292: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).
    info_len = strlen(info);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:295: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).
    code_len = strlen(code);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:378: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).
    code_len = strlen(code);
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:451: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).
        if (strlen(title) > 0) {
data/ruby-commonmarker-0.21.0/ext/commonmarker/commonmark.c:468:11:  [1] (buffer) strlen:
  Does not handle 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(title) > 0) {
data/ruby-commonmarker-0.21.0/ext/commonmarker/inlines.c:1495: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).
  size_t len = strlen (s);
data/ruby-commonmarker-0.21.0/ext/commonmarker/latex.c:172: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).
  url_len = strlen(url);
data/ruby-commonmarker-0.21.0/ext/commonmarker/latex.c:178: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).
  title_len = strlen(title);
data/ruby-commonmarker-0.21.0/ext/commonmarker/plaintext.c:95: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).
      marker_width = (bufsize_t)strlen(listmarker);
data/ruby-commonmarker-0.21.0/ext/commonmarker/render.c:25: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).
  int length = (int)strlen(source);
data/ruby-commonmarker-0.21.0/ext/commonmarker/syntax_extension.c:24: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).
  res->name = (char *) _mem->calloc(1, sizeof(char) * (strlen(name)) + 1);
data/ruby-commonmarker-0.21.0/ext/commonmarker/table.c:219: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).
                               (int)strlen(parent_string));
data/ruby-commonmarker-0.21.0/ext/commonmarker/table.c:242: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).
                                 (int)strlen(parent_string));
data/ruby-commonmarker-0.21.0/ext/commonmarker/table.c:285: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).
  table_header->end_column = parent_container->start_column + (int)strlen(parent_string) - 2;
data/ruby-commonmarker-0.21.0/ext/commonmarker/table.c:308: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).
      (int)strlen((char *)input) - 1 - cmark_parser_get_offset(parser), false);

ANALYSIS SUMMARY:

Hits = 58
Lines analyzed = 25678 in approximately 0.60 seconds (42535 lines/second)
Physical Source Lines of Code (SLOC) = 21767
Hits@level = [0]  23 [1]  26 [2]  29 [3]   0 [4]   3 [5]   0
Hits@level+ = [0+]  81 [1+]  58 [2+]  32 [3+]   3 [4+]   3 [5+]   0
Hits/KSLOC@level+ = [0+] 3.72123 [1+] 2.66458 [2+] 1.47012 [3+] 0.137823 [4+] 0.137823 [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.