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/meanwhile-1.0.2/src/mw_srvc_ft.h
Examining data/meanwhile-1.0.2/src/cipher.c
Examining data/meanwhile-1.0.2/src/error.c
Examining data/meanwhile-1.0.2/src/mw_util.c
Examining data/meanwhile-1.0.2/src/mw_session.h
Examining data/meanwhile-1.0.2/src/mw_cipher.h
Examining data/meanwhile-1.0.2/src/mw_srvc_store.h
Examining data/meanwhile-1.0.2/src/mw_srvc_im.h
Examining data/meanwhile-1.0.2/src/mw_common.h
Examining data/meanwhile-1.0.2/src/message.c
Examining data/meanwhile-1.0.2/src/mw_debug.h
Examining data/meanwhile-1.0.2/src/service.c
Examining data/meanwhile-1.0.2/src/mw_srvc_aware.h
Examining data/meanwhile-1.0.2/src/mw_channel.h
Examining data/meanwhile-1.0.2/src/mw_error.h
Examining data/meanwhile-1.0.2/src/mw_service.h
Examining data/meanwhile-1.0.2/src/mpi/mpi.c
Examining data/meanwhile-1.0.2/src/mpi/mpi-types.h
Examining data/meanwhile-1.0.2/src/mpi/mpi.h
Examining data/meanwhile-1.0.2/src/mpi/mpi-config.h
Examining data/meanwhile-1.0.2/src/channel.c
Examining data/meanwhile-1.0.2/src/mw_message.h
Examining data/meanwhile-1.0.2/src/mw_srvc_conf.h
Examining data/meanwhile-1.0.2/src/mw_srvc_dir.h
Examining data/meanwhile-1.0.2/src/mw_srvc_place.h
Examining data/meanwhile-1.0.2/src/mw_srvc_resolve.h
Examining data/meanwhile-1.0.2/src/mw_st_list.h
Examining data/meanwhile-1.0.2/src/mw_util.h
Examining data/meanwhile-1.0.2/src/srvc_aware.c
Examining data/meanwhile-1.0.2/src/srvc_conf.c
Examining data/meanwhile-1.0.2/src/srvc_dir.c
Examining data/meanwhile-1.0.2/src/srvc_im.c
Examining data/meanwhile-1.0.2/src/srvc_resolve.c
Examining data/meanwhile-1.0.2/src/srvc_store.c
Examining data/meanwhile-1.0.2/src/st_list.c
Examining data/meanwhile-1.0.2/src/srvc_ft.c
Examining data/meanwhile-1.0.2/src/common.c
Examining data/meanwhile-1.0.2/src/mw_debug.c
Examining data/meanwhile-1.0.2/src/session.c
Examining data/meanwhile-1.0.2/src/srvc_place.c
Examining data/meanwhile-1.0.2/samples/socket.c
Examining data/meanwhile-1.0.2/samples/sendmessage.c
Examining data/meanwhile-1.0.2/samples/logging_proxy.c
Examining data/meanwhile-1.0.2/samples/login_server.c
Examining data/meanwhile-1.0.2/samples/nocipher_proxy.c
Examining data/meanwhile-1.0.2/samples/redirect_server.c

FINAL RESULTS:

data/meanwhile-1.0.2/samples/logging_proxy.c:163:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(stdout, txt, args);
data/meanwhile-1.0.2/samples/logging_proxy.c:168:8:  [4] (shell) popen:
  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.
  fp = popen("hexdump -C", "w");
data/meanwhile-1.0.2/samples/logging_proxy.c:985:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stderr,
data/meanwhile-1.0.2/samples/login_server.c:52:8:  [4] (shell) popen:
  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.
  fp = popen("hexdump -C", "w");
data/meanwhile-1.0.2/samples/login_server.c:405:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stderr,
data/meanwhile-1.0.2/samples/nocipher_proxy.c:60:8:  [4] (shell) popen:
  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.
  fp = popen("hexdump -C", "w");
data/meanwhile-1.0.2/samples/nocipher_proxy.c:459:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stderr,
data/meanwhile-1.0.2/samples/redirect_server.c:349:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stderr,
data/meanwhile-1.0.2/samples/socket.c:283:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stderr, HELP, *argv);
data/meanwhile-1.0.2/src/mpi/mpi.c:20:20:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define DIAG(T,V) {fprintf(stderr,T);mw_mp_print(V,stderr);fputc('\n',stderr);}
data/meanwhile-1.0.2/src/mpi/mpi.c:2254:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(ofp, DIGIT_FMT, DIGIT(mp, ix));
data/meanwhile-1.0.2/src/st_list.c:521:9:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  ret = sscanf(line, "G %s %s %c\n",
data/meanwhile-1.0.2/src/st_list.c:561:9:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  ret = sscanf(line, "U %s %s",
data/meanwhile-1.0.2/src/cipher.c:137:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(time(NULL));
data/meanwhile-1.0.2/src/cipher.c:221:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(time(NULL));
data/meanwhile-1.0.2/src/srvc_conf.c:111:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(clock() + rand());
data/meanwhile-1.0.2/src/srvc_place.c:875:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(clock() + rand());
data/meanwhile-1.0.2/samples/logging_proxy.c:655: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(s->buf+s->buf_recv, b, n);
data/meanwhile-1.0.2/samples/logging_proxy.c:660: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(s->buf+s->buf_recv, b, x);
data/meanwhile-1.0.2/samples/logging_proxy.c:673:2:  [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(t, s->buf, 4);
data/meanwhile-1.0.2/samples/logging_proxy.c:674:2:  [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(t+4, b, n);
data/meanwhile-1.0.2/samples/logging_proxy.c:707: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(s->buf, b, n);
data/meanwhile-1.0.2/samples/logging_proxy.c:722: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(s->buf, b, n);
data/meanwhile-1.0.2/samples/logging_proxy.c:973:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    client_port = atoi(z);
data/meanwhile-1.0.2/samples/logging_proxy.c:977:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    server_port = atoi(z);
data/meanwhile-1.0.2/samples/logging_proxy.c:981:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    counter = atoi(argv[2]);
data/meanwhile-1.0.2/samples/login_server.c:201: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(sbuf + sbuf_recv, b, n);
data/meanwhile-1.0.2/samples/login_server.c:206: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(sbuf + sbuf_recv, b, x);
data/meanwhile-1.0.2/samples/login_server.c:219:2:  [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(t, sbuf, 4);
data/meanwhile-1.0.2/samples/login_server.c:220:2:  [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(t+4, b, n);
data/meanwhile-1.0.2/samples/login_server.c:253: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(sbuf, b, n);
data/meanwhile-1.0.2/samples/login_server.c:268: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(sbuf, b, n);
data/meanwhile-1.0.2/samples/login_server.c:401:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    port = atoi(argv[1]);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:173: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(s->buf+s->buf_recv, b, n);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:178: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(s->buf+s->buf_recv, b, x);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:191:2:  [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(t, s->buf, 4);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:192:2:  [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(t+4, b, n);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:225: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(s->buf, b, n);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:240: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(s->buf, b, n);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:451:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    client_port = atoi(z);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:455:19:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    server_port = atoi(z);
data/meanwhile-1.0.2/samples/redirect_server.c:143: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(sbuf + sbuf_recv, b, n);
data/meanwhile-1.0.2/samples/redirect_server.c:148: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(sbuf + sbuf_recv, b, x);
data/meanwhile-1.0.2/samples/redirect_server.c:161:2:  [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(t, sbuf, 4);
data/meanwhile-1.0.2/samples/redirect_server.c:162:2:  [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(t+4, b, n);
data/meanwhile-1.0.2/samples/redirect_server.c:195: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(sbuf, b, n);
data/meanwhile-1.0.2/samples/redirect_server.c:210: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(sbuf, b, n);
data/meanwhile-1.0.2/samples/redirect_server.c:345:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    port = atoi(z);
data/meanwhile-1.0.2/samples/sendmessage.c:326:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  portno = atoi(argv[2]);
data/meanwhile-1.0.2/src/common.c:98: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(buf, b->buf, use);
data/meanwhile-1.0.2/src/common.c:134: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(b->ptr, data, len);
data/meanwhile-1.0.2/src/common.c:193: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(data, b->ptr, len);
data/meanwhile-1.0.2/src/common.c:364: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(b->ptr, val, len);
data/meanwhile-1.0.2/src/common.c:386: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(*val, b->ptr, len);
data/meanwhile-1.0.2/src/common.c:411: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(b->ptr, o->data, len);
data/meanwhile-1.0.2/src/error.c:28: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.
  static char b[11]; /* 0x12345678 + NULL terminator */
data/meanwhile-1.0.2/src/error.c:29: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((char *) b, "0x%08x", code);
data/meanwhile-1.0.2/src/mpi/mpi.c:153:40:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  #define  s_mw_mp_copy(sp, dp, count) memcpy(dp, sp, (count) * sizeof(mw_mp_digit))
data/meanwhile-1.0.2/src/mpi/mpi.c:2745: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(dp, sp, count * sizeof(mw_mp_digit));
data/meanwhile-1.0.2/src/mw_st_list.h:158:66:  [2] (misc) open:
  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).
void mwSametimeGroup_setOpen(struct mwSametimeGroup *g, gboolean open);
data/meanwhile-1.0.2/src/session.c:705: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(s->buf+s->buf_used, b, n);
data/meanwhile-1.0.2/src/session.c:711: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(s->buf+s->buf_used, b, x);
data/meanwhile-1.0.2/src/session.c:730:2:  [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(t, s->buf, 4);
data/meanwhile-1.0.2/src/session.c:731:2:  [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(t+4, b, n);
data/meanwhile-1.0.2/src/session.c:774: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(s->buf, b, n);
data/meanwhile-1.0.2/src/session.c:795: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(s->buf, b, n);
data/meanwhile-1.0.2/src/st_list.c:45:12:  [2] (misc) open:
  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).
  gboolean open;
data/meanwhile-1.0.2/src/st_list.c:226:66:  [2] (misc) open:
  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).
void mwSametimeGroup_setOpen(struct mwSametimeGroup *g, gboolean open) {
data/meanwhile-1.0.2/src/st_list.c:228:13:  [2] (misc) open:
  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).
  g->open = open;
data/meanwhile-1.0.2/src/st_list.c:234:13:  [2] (misc) open:
  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).
  return g->open;
data/meanwhile-1.0.2/src/st_list.c:436:28:  [2] (misc) open:
  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).
			 name, type, alias, (g->open? 'O':'C'));
data/meanwhile-1.0.2/src/st_list.c:522:23:  [2] (misc) open:
  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).
	       name, alias, &open);
data/meanwhile-1.0.2/samples/logging_proxy.c:775:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  len = read(side->sock, buf, 2048);
data/meanwhile-1.0.2/samples/login_server.c:317:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  len = read(sock, buf, 2048);
data/meanwhile-1.0.2/samples/nocipher_proxy.c:291:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  len = read(side->sock, buf, 2048);
data/meanwhile-1.0.2/samples/redirect_server.c:259:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  len = read(sock, buf, 2048);
data/meanwhile-1.0.2/samples/sendmessage.c:215:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  len = read(sock, buf, BUF_LEN);
data/meanwhile-1.0.2/samples/socket.c:187:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  len = read(sock, buf, BUF_LEN);
data/meanwhile-1.0.2/src/common.c:358: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(val) len = strlen(val);
data/meanwhile-1.0.2/src/session.c:349: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).
  z.len = strlen(pass);
data/meanwhile-1.0.2/src/srvc_aware.c:426: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).
  g_return_val_if_fail(strlen(id->user) > 0, FALSE);
data/meanwhile-1.0.2/src/srvc_conf.c:725: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).
      info.len = strlen(text);
data/meanwhile-1.0.2/src/srvc_im.c:854: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).
  len = strlen(buf);
data/meanwhile-1.0.2/src/srvc_im.c:912: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).
  o.len = strlen(subject);
data/meanwhile-1.0.2/src/srvc_im.c:922: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).
  o.len = strlen(html);
data/meanwhile-1.0.2/src/srvc_im.c:936: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).
  o.len = strlen(mime);
data/meanwhile-1.0.2/src/st_list.c:517: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).
  ret = strlen(line);
data/meanwhile-1.0.2/src/st_list.c:532: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).
    int l = strlen(name)-1;
data/meanwhile-1.0.2/src/st_list.c:557: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).
  ret = strlen(line);

ANALYSIS SUMMARY:

Hits = 89
Lines analyzed = 24678 in approximately 0.56 seconds (43695 lines/second)
Physical Source Lines of Code (SLOC) = 13873
Hits@level = [0]  52 [1]  17 [2]  55 [3]   4 [4]  13 [5]   0
Hits@level+ = [0+] 141 [1+]  89 [2+]  72 [3+]  17 [4+]  13 [5+]   0
Hits/KSLOC@level+ = [0+] 10.1636 [1+] 6.41534 [2+] 5.18994 [3+] 1.2254 [4+] 0.937072 [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.