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/libkal-0.9.0/gtk-example/example.c
Examining data/libkal-0.9.0/gtk-example/utilz.c
Examining data/libkal-0.9.0/check.c
Examining data/libkal-0.9.0/kal.h
Examining data/libkal-0.9.0/kal_check.c
Examining data/libkal-0.9.0/kal_check.h
Examining data/libkal-0.9.0/kal_getdate.c
Examining data/libkal-0.9.0/kal_getdate.h
Examining data/libkal-0.9.0/kal_main.c
Examining data/libkal-0.9.0/kal_main.h
Examining data/libkal-0.9.0/kal_names.c
Examining data/libkal-0.9.0/kal_names.h
Examining data/libkal-0.9.0/kal_procs.c
Examining data/libkal-0.9.0/kal_procs.h
Examining data/libkal-0.9.0/test-dw.c
Examining data/libkal-0.9.0/test.c
Examining data/libkal-0.9.0/test1.c

FINAL RESULTS:

data/libkal-0.9.0/gtk-example/utilz.c:65:1:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
sprintf (mes,"%s %d%s", month_name(m,sys),y,bf);
data/libkal-0.9.0/kal_getdate.c:34:7:  [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.
  fil=popen("date +%d%n%m%n%Y%n%H%n%M%n%S%n%w%n%j%n%Z%n","r");
data/libkal-0.9.0/kal_getdate.c:35:3:  [4] (buffer) fscanf:
  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.
  fscanf(fil,"%s",str);day=atoi(str);
data/libkal-0.9.0/kal_getdate.c:36:3:  [4] (buffer) fscanf:
  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.
  fscanf(fil,"%s",str);month=atoi(str);
data/libkal-0.9.0/kal_getdate.c:37:3:  [4] (buffer) fscanf:
  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.
  fscanf(fil,"%s",str);year=atoi(str);
data/libkal-0.9.0/test.c:46:1:  [4] (buffer) scanf:
  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.
scanf("%s",in);
data/libkal-0.9.0/test1.c:46:1:  [4] (buffer) scanf:
  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.
scanf("%s",in);
data/libkal-0.9.0/gtk-example/example.c:39:1:  [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 mes[50];
data/libkal-0.9.0/gtk-example/utilz.c:56: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.
void mesyc (char mes[50], long jd, int sys) {
data/libkal-0.9.0/gtk-example/utilz.c:72:2:  [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 num[10];
data/libkal-0.9.0/gtk-example/utilz.c:117:17:  [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.
  if (m==month) sprintf(num,"  %d ",day);
data/libkal-0.9.0/gtk-example/utilz.c:118:9:  [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.
   else sprintf(num,"    ");
data/libkal-0.9.0/kal_getdate.c:31:2:  [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 str[100];
data/libkal-0.9.0/kal_getdate.c:35:28:  [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).
  fscanf(fil,"%s",str);day=atoi(str);
data/libkal-0.9.0/kal_getdate.c:36:30:  [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).
  fscanf(fil,"%s",str);month=atoi(str);
data/libkal-0.9.0/kal_getdate.c:37:29:  [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).
  fscanf(fil,"%s",str);year=atoi(str);
data/libkal-0.9.0/kal_names.c:30: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.
return (char *)mm[m-1];
data/libkal-0.9.0/kal_names.c:39: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.
return (char *)mm[m-1];
data/libkal-0.9.0/kal_procs.c:39: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.
return (char *)kal_procs[sys][KAL_PROCS_NAME];
data/libkal-0.9.0/test.c:41:1:  [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 in[100];
data/libkal-0.9.0/test1.c:41:1:  [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 in[100];

ANALYSIS SUMMARY:

Hits = 21
Lines analyzed = 1717 in approximately 0.08 seconds (21799 lines/second)
Physical Source Lines of Code (SLOC) = 893
Hits@level = [0]  62 [1]   0 [2]  14 [3]   0 [4]   7 [5]   0
Hits@level+ = [0+]  83 [1+]  21 [2+]  21 [3+]   7 [4+]   7 [5+]   0
Hits/KSLOC@level+ = [0+] 92.9451 [1+] 23.5162 [2+] 23.5162 [3+] 7.83875 [4+] 7.83875 [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.