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/libmdsp-0.11/src/antoi.c
Examining data/libmdsp-0.11/src/charcmp.c
Examining data/libmdsp-0.11/src/dcdmetar.c
Examining data/libmdsp-0.11/src/dcdmtrmk.c
Examining data/libmdsp-0.11/src/drvmetar.c
Examining data/libmdsp-0.11/src/fracpart.c
Examining data/libmdsp-0.11/src/local.h
Examining data/libmdsp-0.11/src/metar_structs.h
Examining data/libmdsp-0.11/src/prtdmetr.c
Examining data/libmdsp-0.11/src/stspack2.c
Examining data/libmdsp-0.11/src/stspack3.c
Examining data/libmdsp-0.11/metar.h

FINAL RESULTS:

data/libmdsp-0.11/src/dcdmetar.c:98:4:  [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( token[ NDEX ], TOKEN );
data/libmdsp-0.11/src/dcdmetar.c:110:10:  [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( token[NDEX], TOKEN );
data/libmdsp-0.11/src/dcdmetar.c:611:7:  [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( &(Mptr->PartialObscurationAmt[0][0]), *string );
data/libmdsp-0.11/src/dcdmetar.c:622:13:  [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( &(Mptr->PartialObscurationAmt[1][0]), *string );
data/libmdsp-0.11/src/dcdmetar.c:630:13:  [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( &(Mptr->PartialObscurationAmt[1][0]), *string );
data/libmdsp-0.11/src/dcdmetar.c:1205:7:  [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(save_token,*visblty);
data/libmdsp-0.11/src/dcdmetar.c:1252:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1257:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1262:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1267:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1272:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1277:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1282:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1287:10:  [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(Mptr->vsby_Dir,*visblty+4);
data/libmdsp-0.11/src/dcdmetar.c:1502:10:  [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( buf, V_char+1 );
data/libmdsp-0.11/src/dcdmetar.c:1892:4:  [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(temp_token, token);
data/libmdsp-0.11/src/dcdmetar.c:1921:13:  [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( (Mptr->WxObstruct[*next])+1,
data/libmdsp-0.11/src/dcdmetar.c:1927:13:  [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( Mptr->WxObstruct[*next], WxSymbols[i]);
data/libmdsp-0.11/src/dcdmetar.c:1993:10:  [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(Mptr->stnid,stnID);
data/libmdsp-0.11/src/dcdmetar.c:2039:7:  [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(Mptr->codeName, codename );
data/libmdsp-0.11/src/dcdmetar.c:2395:10:  [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( Mptr->winData.windUnits, dummy );
data/libmdsp-0.11/src/dcdmetar.c:2415:7:  [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( Mptr->winData.windUnits, dummy );
data/libmdsp-0.11/src/dcdmetar.c:2517:2:  [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(stringCpy, string);
data/libmdsp-0.11/src/dcdmetar.c:2774:2:  [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(string_cpy, string);
data/libmdsp-0.11/src/dcdmtrmk.c:110:10:  [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( Mptr->TS_LOC, *string );
data/libmdsp-0.11/src/dcdmtrmk.c:134:16:  [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( Mptr->TS_MOVMNT, *string );
data/libmdsp-0.11/src/dcdmtrmk.c:392:10:  [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(Mptr->TornadicType, *string);
data/libmdsp-0.11/src/dcdmtrmk.c:578:13:  [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(Mptr->TornadicDIR, *string);
data/libmdsp-0.11/src/dcdmtrmk.c:597:16:  [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( Mptr->TornadicMovDir, *string );
data/libmdsp-0.11/src/dcdmtrmk.c:734:19:  [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(&(Mptr->PartialObscurationPhenom[ndex][0]),
data/libmdsp-0.11/src/dcdmtrmk.c:838:10:  [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(Mptr->autoIndicator, indicator);
data/libmdsp-0.11/src/dcdmtrmk.c:966:7:  [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( buf, slash+1 );
data/libmdsp-0.11/src/dcdmtrmk.c:1797:22:  [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(Mptr->VSBY_2ndSite_LOC, *token);
data/libmdsp-0.11/src/dcdmtrmk.c:1814:22:  [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(Mptr->VSBY_2ndSite_LOC, *token);
data/libmdsp-0.11/src/dcdmtrmk.c:1832:19:  [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(Mptr->VSBY_2ndSite_LOC, *token);
data/libmdsp-0.11/src/dcdmtrmk.c:1849:16:  [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(Mptr->VSBY_2ndSite_LOC, *token);
data/libmdsp-0.11/src/dcdmtrmk.c:1875:16:  [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(Mptr->VSBY_2ndSite_LOC, *token);
data/libmdsp-0.11/src/dcdmtrmk.c:2066:13:  [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( Mptr->LTG_DIR, *string);
data/libmdsp-0.11/src/dcdmtrmk.c:2163:13:  [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( Mptr->LTG_DIR, *string);
data/libmdsp-0.11/src/dcdmtrmk.c:2319:7:  [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(temp,*token);
data/libmdsp-0.11/src/dcdmtrmk.c:2702:10:  [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(Mptr->CIG_2ndSite_LOC, *token );
data/libmdsp-0.11/src/dcdmtrmk.c:3021:13:  [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(Mptr->SectorVsby_Dir,dd);
data/libmdsp-0.11/src/dcdmtrmk.c:3039:16:  [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(Mptr->SectorVsby_Dir,dd);
data/libmdsp-0.11/src/dcdmtrmk.c:3054:10:  [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(Mptr->SectorVsby_Dir,dd);
data/libmdsp-0.11/src/dcdmtrmk.c:3062:10:  [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(Mptr->SectorVsby_Dir,dd);
data/libmdsp-0.11/src/dcdmtrmk.c:3070:10:  [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(Mptr->SectorVsby_Dir,dd);
data/libmdsp-0.11/src/dcdmtrmk.c:3079:13:  [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(Mptr->SectorVsby_Dir,dd);
data/libmdsp-0.11/src/dcdmtrmk.c:3088:13:  [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(Mptr->SectorVsby_Dir,dd);
data/libmdsp-0.11/src/dcdmtrmk.c:3315:10:  [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(Mptr->VIRGA_DIR, *string);
data/libmdsp-0.11/src/dcdmtrmk.c:3390:13:  [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(&(Mptr->SfcObscuration[ndex][0]),WxSymbols[i]);
data/libmdsp-0.11/src/dcdmtrmk.c:3486:7:  [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( SKY1, cldPtr[i] );
data/libmdsp-0.11/src/dcdmtrmk.c:3524:19:  [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(Mptr->VrbSkyAbove,cldPtr[i]);
data/libmdsp-0.11/src/dcdmtrmk.c:3539:16:  [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(Mptr->VrbSkyBelow,SKY1);
data/libmdsp-0.11/src/dcdmtrmk.c:3540:16:  [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(Mptr->VrbSkyAbove,cldPtr[i]);
data/libmdsp-0.11/src/dcdmtrmk.c:3623:10:  [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(Mptr->ObscurAloft,saveTemp);
data/libmdsp-0.11/src/dcdmtrmk.c:3713:7:  [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(Mptr->synoptic_cloud_type,token);
data/libmdsp-0.11/src/dcdmtrmk.c:3804:7:  [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(Mptr->snow_depth_group,token);
data/libmdsp-0.11/src/dcdmtrmk.c:4684:10:  [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(Mptr->CHINO_LOC, *string);
data/libmdsp-0.11/src/dcdmtrmk.c:4745:10:  [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(Mptr->VISNO_LOC, *string);
data/libmdsp-0.11/src/fracpart.c:74:4:  [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( buf, slash+1);
data/libmdsp-0.11/src/local.h:80:22:  [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.
#define clearscrn    system("CLRSCRN")
data/libmdsp-0.11/src/prtdmetr.c:42:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "REPORT CODE NAME    : %s\n",Mptr->codeName);
data/libmdsp-0.11/src/prtdmetr.c:43:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:47:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "STATION ID          : %s\n",Mptr->stnid);
data/libmdsp-0.11/src/prtdmetr.c:48:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:53:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:58:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:63:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:68:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:73:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:78:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:83:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:88:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:93:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:98:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:102:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "WIND UNITS          : %s\n",Mptr->winData.windUnits);
data/libmdsp-0.11/src/prtdmetr.c:103:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:108:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:113:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:118:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:123:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:128:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:137:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "VISIBILITY DIRECTION: %s\n",Mptr->vsby_Dir);
data/libmdsp-0.11/src/prtdmetr.c:138:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:143:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:149:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(temp, "RUNWAY DESIGNATOR   : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:151:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:157:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:162:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:167:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:172:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:178:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:184:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:193:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:198:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:203:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:208:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:214:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:220:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:226:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "WX/OBSTRUCT VISION  : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:228:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:233:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "OBSCURATION AMOUNT  : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:235:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:239:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "OBSCURATION PHENOM  : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:241:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:246:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "OBSCURATION AMOUNT  : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:248:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:252:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "OBSCURATION PHENOM  : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:254:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:262:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(temp, "CLOUD COVER         : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:264:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:268:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(temp, "CLOUD HGT (CHARAC.) : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:270:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:276:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:280:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(temp, "OTHER CLOUD PHENOM  : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:282:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:291:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:296:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:302:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:308:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:312:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "TORNADIC ACTVTY TYPE: %s\n",
data/libmdsp-0.11/src/prtdmetr.c:314:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:320:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:326:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:332:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:338:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:344:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:348:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "TORNADIC LOCATION   : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:350:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:354:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "TORNAD. DIR FROM STN: %s\n",
data/libmdsp-0.11/src/prtdmetr.c:356:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:360:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "TORNADO DIR OF MOVM.: %s\n",
data/libmdsp-0.11/src/prtdmetr.c:362:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:367:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(temp, "AUTO INDICATOR      : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:369:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:374:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:378:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:382:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:386:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:391:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:395:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:399:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:404:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:408:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:413:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:417:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:422:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:426:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "VSBY_2ndSite LOC.   : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:428:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:433:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:438:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:443:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:448:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:453:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:458:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:463:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:468:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:473:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:478:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:483:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:488:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:493:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:497:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "DIREC. OF LIGHTNING : %s\n", Mptr->LTG_DIR);
data/libmdsp-0.11/src/prtdmetr.c:498:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:506:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "RECENT WEATHER      : %s",
data/libmdsp-0.11/src/prtdmetr.c:508:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:512:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:516:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:521:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:525:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:535:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:539:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:544:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:547:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "CIG @ 2nd Site LOC. : %s\n",Mptr->CIG_2ndSite_LOC);
data/libmdsp-0.11/src/prtdmetr.c:548:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:553:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:557:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:562:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:567:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:572:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:576:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "SECTOR VSBY OCTANT  : %s\n", Mptr->SectorVsby_Dir );
data/libmdsp-0.11/src/prtdmetr.c:577:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:581:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "THUNDERSTORM LOCAT. : %s\n", Mptr->TS_LOC );
data/libmdsp-0.11/src/prtdmetr.c:582:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:586:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "THUNDERSTORM MOVMNT.: %s\n", Mptr->TS_MOVMNT);
data/libmdsp-0.11/src/prtdmetr.c:587:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:592:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:597:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:602:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:606:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "DIR OF VIRGA FRM STN: %s\n", Mptr->VIRGA_DIR);
data/libmdsp-0.11/src/prtdmetr.c:607:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:612:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(temp, "SfcObscuration      : %s\n",
data/libmdsp-0.11/src/prtdmetr.c:614:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:620:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:625:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:630:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:635:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:639:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "VRB SKY COND BELOW  : %s\n",Mptr->VrbSkyBelow);
data/libmdsp-0.11/src/prtdmetr.c:640:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:644:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "VRB SKY COND ABOVE  : %s\n",Mptr->VrbSkyAbove);
data/libmdsp-0.11/src/prtdmetr.c:645:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:650:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:655:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:659:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "Obscur Phenom Aloft : %s\n",Mptr->ObscurAloft);
data/libmdsp-0.11/src/prtdmetr.c:660:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:664:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "Obscur ALOFT SKYCOND: %s\n",Mptr->ObscurAloftSkyCond);
data/libmdsp-0.11/src/prtdmetr.c:665:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:671:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:676:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:680:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "SYNOPTIC CLOUD GROUP: %s\n",Mptr->synoptic_cloud_type);
data/libmdsp-0.11/src/prtdmetr.c:681:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:686:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:691:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:696:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:701:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:706:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:710:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "SNOW DEPTH GROUP    : %s\n",Mptr->snow_depth_group);
data/libmdsp-0.11/src/prtdmetr.c:711:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:716:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:721:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:726:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:731:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:736:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:742:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:747:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:753:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:758:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:763:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:768:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:774:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:780:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:786:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:792:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:798:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:804:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:809:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:814:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:819:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:823:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "CHINO_LOC           : %s\n",Mptr->CHINO_LOC);
data/libmdsp-0.11/src/prtdmetr.c:824:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:829:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:833:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "VISNO_LOC           : %s\n",Mptr->VISNO_LOC);
data/libmdsp-0.11/src/prtdmetr.c:834:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:839:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:844:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:849:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:853:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "HORIZ VISIBILITY    : %s\n",Mptr->horiz_vsby);
data/libmdsp-0.11/src/prtdmetr.c:854:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:858:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(temp, "DIR MIN HORIZ VSBY  : %s\n",Mptr->dir_min_horiz_vsby);
data/libmdsp-0.11/src/prtdmetr.c:859:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:864:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:871:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:882:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:887:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:892:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:896:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(string, temp);
data/libmdsp-0.11/src/prtdmetr.c:909:2:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	printf(string);
data/libmdsp-0.11/metar.h:48:4:  [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 runway_designator[6];
data/libmdsp-0.11/metar.h:81:4:  [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 cloud_type[5];
data/libmdsp-0.11/metar.h:82:4:  [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 cloud_hgt_char[4];
data/libmdsp-0.11/metar.h:83:4:  [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 other_cld_phenom[4];
data/libmdsp-0.11/metar.h:95:4:  [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 windUnits[ 4 ];
data/libmdsp-0.11/metar.h:110:4:  [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 Recent_weather[ 5 ];
data/libmdsp-0.11/metar.h:125:4:  [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 synoptic_cloud_type[ 6 ];
data/libmdsp-0.11/metar.h:126:4:  [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 snow_depth_group[ 6 ];
data/libmdsp-0.11/metar.h:127:4:  [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 codeName[ 6 ];
data/libmdsp-0.11/metar.h:128:4:  [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 stnid[5];
data/libmdsp-0.11/metar.h:129:4:  [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 horiz_vsby[5];
data/libmdsp-0.11/metar.h:130:4:  [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 dir_min_horiz_vsby[3];
data/libmdsp-0.11/metar.h:131:4:  [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 vsby_Dir[ 3 ];
data/libmdsp-0.11/metar.h:132:4:  [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 WxObstruct[10][8];
data/libmdsp-0.11/metar.h:133:4:  [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 autoIndicator[5];
data/libmdsp-0.11/metar.h:134:4:  [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 VSBY_2ndSite_LOC[10];
data/libmdsp-0.11/metar.h:135:4:  [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 SKY_2ndSite_LOC[10];
data/libmdsp-0.11/metar.h:136:4:  [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 SKY_2ndSite[10];
data/libmdsp-0.11/metar.h:137:4:  [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 SectorVsby_Dir[ 3 ];
data/libmdsp-0.11/metar.h:138:4:  [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 ObscurAloft[ 12 ];
data/libmdsp-0.11/metar.h:139:4:  [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 ObscurAloftSkyCond[ 12 ];
data/libmdsp-0.11/metar.h:140:4:  [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 VrbSkyBelow[ 4 ];
data/libmdsp-0.11/metar.h:141:4:  [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 VrbSkyAbove[ 4 ];
data/libmdsp-0.11/metar.h:142:4:  [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 LTG_DIR[ 3 ];
data/libmdsp-0.11/metar.h:146:4:  [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 CIG_2ndSite_LOC[10];
data/libmdsp-0.11/metar.h:147:4:  [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 VIRGA_DIR[3];
data/libmdsp-0.11/metar.h:148:4:  [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 TornadicType[15];
data/libmdsp-0.11/metar.h:149:4:  [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 TornadicLOC[10];
data/libmdsp-0.11/metar.h:150:4:  [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 TornadicDIR[4];
data/libmdsp-0.11/metar.h:151:4:  [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 TornadicMovDir[3];
data/libmdsp-0.11/metar.h:152:4:  [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 CHINO_LOC[6];
data/libmdsp-0.11/metar.h:153:4:  [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 VISNO_LOC[6];
data/libmdsp-0.11/metar.h:154:4:  [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 PartialObscurationAmt[2][7];
data/libmdsp-0.11/metar.h:155:4:  [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 PartialObscurationPhenom[2][12];
data/libmdsp-0.11/metar.h:156:4:  [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 SfcObscuration[6][10];
data/libmdsp-0.11/metar.h:157:4:  [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 charPrevailVsby[12];
data/libmdsp-0.11/metar.h:158:4:  [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 charVertVsby[10];
data/libmdsp-0.11/metar.h:159:4:  [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 TS_LOC[3];
data/libmdsp-0.11/metar.h:160:4:  [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 TS_MOVMNT[3];
data/libmdsp-0.11/src/antoi.c:84:14:  [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).
    retval = atoi(tmpstr);
data/libmdsp-0.11/src/dcdmetar.c:78:11:  [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 *token[ MAXTOKENS ],
data/libmdsp-0.11/src/dcdmetar.c:554: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).
   if( (hgt = atoi(token)) == 999 )
data/libmdsp-0.11/src/dcdmetar.c:836:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(Mptr->cldTypHgt[0].cloud_type,"CLR");
data/libmdsp-0.11/src/dcdmetar.c:852:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(Mptr->cldTypHgt[0].cloud_type,"SKC");
data/libmdsp-0.11/src/dcdmetar.c:1044:4:  [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 numerator[3],
data/libmdsp-0.11/src/dcdmetar.c:1059: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).
      Miles_vsby = (float) (atoi(temp));
data/libmdsp-0.11/src/dcdmetar.c:1079:25:  [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).
      return ( ((float)(atoi(numerator)))/
data/libmdsp-0.11/src/dcdmetar.c:1080:25:  [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).
               ((float)(atoi(denominator))) );
data/libmdsp-0.11/src/dcdmetar.c:1223:43:  [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).
                                 (float) (atoi(save_token));
data/libmdsp-0.11/src/dcdmetar.c:1381:4:  [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 buf[ 6 ];
data/libmdsp-0.11/src/dcdmetar.c:1402:38:  [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).
            Mptr->minVsby += (float) atoi(buf);
data/libmdsp-0.11/src/dcdmetar.c:1404:38:  [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).
            Mptr->minVsby  = (float) atoi(buf);
data/libmdsp-0.11/src/dcdmetar.c:1408:34:  [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).
         Mptr->maxVsby = (float) atoi(buf);
data/libmdsp-0.11/src/dcdmetar.c:1429:34:  [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).
         Mptr->maxVsby = (float) atoi(V_char+1);
data/libmdsp-0.11/src/dcdmetar.c:1484:4:  [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 buf[ buf_len ];
data/libmdsp-0.11/src/dcdmetar.c:1499:27:  [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).
         Mptr->minWnDir = atoi( buf );
data/libmdsp-0.11/src/dcdmetar.c:1503:27:  [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).
         Mptr->maxWnDir = atoi( buf );
data/libmdsp-0.11/src/dcdmetar.c:1627:4:  [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 dummy[6];
data/libmdsp-0.11/src/dcdmetar.c:1657:42:  [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).
               Mptr->hectoPasc_altstng = atoi(dummy);
data/libmdsp-0.11/src/dcdmetar.c:1660:42:  [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).
               Mptr->hectoPasc_altstng = atoi(token+1);
data/libmdsp-0.11/src/dcdmetar.c:1715: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).
         Mptr->dew_pt_temp = atoi(slash+1);
data/libmdsp-0.11/src/dcdmetar.c:1720: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).
         Mptr->dew_pt_temp = atoi(slash+2) * -1;
data/libmdsp-0.11/src/dcdmetar.c:1738: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).
         Mptr->dew_pt_temp = atoi(slash+1);
data/libmdsp-0.11/src/dcdmetar.c:1747: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).
         Mptr->dew_pt_temp = atoi(slash+2) * -1;
data/libmdsp-0.11/src/dcdmetar.c:1756: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).
         Mptr->dew_pt_temp = atoi(slash+1);
data/libmdsp-0.11/src/dcdmetar.c:1765: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).
         Mptr->dew_pt_temp = atoi(slash+2) * -1;
data/libmdsp-0.11/src/dcdmetar.c:2288:4:  [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 dummy[8];
data/libmdsp-0.11/src/dcdmetar.c:2310:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy( dummy, "KT" );
data/libmdsp-0.11/src/dcdmetar.c:2322:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(Mptr->winData.windUnits,"KT");
data/libmdsp-0.11/src/dcdmetar.c:2334:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(Mptr->winData.windUnits,"KT");
data/libmdsp-0.11/src/dcdmetar.c:2348:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(Mptr->winData.windUnits,"KT");
data/libmdsp-0.11/src/dcdmetar.c:2359:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(Mptr->winData.windUnits,"KT");
data/libmdsp-0.11/src/dcdmetar.c:2370:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(Mptr->winData.windUnits,"KT");
data/libmdsp-0.11/src/dcdmtrmk.c:389:16:  [2] (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). Risk is low because the source is a constant string.
               strcpy(Mptr->TornadicType,"FUNNEL CLOUD");
data/libmdsp-0.11/src/dcdmtrmk.c:554:19:  [2] (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). Risk is low because the source is a constant string.
                  strcpy(Mptr->TornadicLOC,"VC STN");
data/libmdsp-0.11/src/dcdmtrmk.c:560:19:  [2] (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). Risk is low because the source is a constant string.
                  strcpy(Mptr->TornadicLOC,"VC");
data/libmdsp-0.11/src/dcdmtrmk.c:565:16:  [2] (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). Risk is low because the source is a constant string.
               strcpy(Mptr->TornadicLOC,"DSNT");
data/libmdsp-0.11/src/dcdmtrmk.c:898:4:  [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 buf[ 6 ];
data/libmdsp-0.11/src/dcdmtrmk.c:959:25:  [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).
      Mptr->PKWND_dir = atoi( buf );
data/libmdsp-0.11/src/dcdmtrmk.c:963: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).
      Mptr->PKWND_speed =  atoi( buf );
data/libmdsp-0.11/src/dcdmtrmk.c:967:27:  [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).
      temp             =  atoi( buf );
data/libmdsp-0.11/src/dcdmtrmk.c:971: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).
         Mptr->PKWND_hour = atoi(buf)/100;
data/libmdsp-0.11/src/dcdmtrmk.c:972:32:  [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).
         Mptr->PKWND_minute = (atoi(buf)) % 100;
data/libmdsp-0.11/src/dcdmtrmk.c:975:32:  [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).
         Mptr->PKWND_minute =  atoi( buf );
data/libmdsp-0.11/src/dcdmtrmk.c:1070:14:  [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).
      temp = atoi( *string );
data/libmdsp-0.11/src/dcdmtrmk.c:1074:33:  [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).
         Mptr->WshfTime_hour = (atoi(*string))/100;
data/libmdsp-0.11/src/dcdmtrmk.c:1075:35:  [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).
         Mptr->WshfTime_minute = (atoi(*string)) % 100;
data/libmdsp-0.11/src/dcdmtrmk.c:1078:35:  [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).
         Mptr->WshfTime_minute = (atoi(*string)) % 100;
data/libmdsp-0.11/src/dcdmtrmk.c:1212:32:  [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).
      Mptr->TWR_VSBY = (float) atoi(*token);
data/libmdsp-0.11/src/dcdmtrmk.c:1369:32:  [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).
      Mptr->SFC_VSBY = (float) atoi(*token);
data/libmdsp-0.11/src/dcdmtrmk.c:1489:4:  [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 *slash,
data/libmdsp-0.11/src/dcdmtrmk.c:1527: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).
      minimumVsby = (float) atoi(*string);
data/libmdsp-0.11/src/dcdmtrmk.c:1548:41:  [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).
                  maximumVsby = (float) atoi(V_char+1);
data/libmdsp-0.11/src/dcdmtrmk.c:1591:32:  [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).
         maximumVsby = (float) atoi(V_char+1);
data/libmdsp-0.11/src/dcdmtrmk.c:1638:41:  [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).
                  maximumVsby = (float) atoi(V_char+1);
data/libmdsp-0.11/src/dcdmtrmk.c:1777: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).
      VSBY_2ndSite = (float) atoi(*token);
data/libmdsp-0.11/src/dcdmtrmk.c:2626: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).
         Mptr->maxCeiling = atoi(V_char+1);
data/libmdsp-0.11/src/dcdmtrmk.c:2697:20:  [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).
      CIG2ndSite = atoi(*token ) * 10;
data/libmdsp-0.11/src/dcdmtrmk.c:2910:24:  [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).
            pressure = atoi(*token+3);
data/libmdsp-0.11/src/dcdmtrmk.c:2931:24:  [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).
            pressure = atoi(*token);
data/libmdsp-0.11/src/dcdmtrmk.c:2961:4:  [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  dd[3],
data/libmdsp-0.11/src/dcdmtrmk.c:3341:4:  [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 *numLoc,
data/libmdsp-0.11/src/dcdmtrmk.c:3429: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).
            Mptr->Ceiling = atoi(string+3) * 100;
data/libmdsp-0.11/src/dcdmtrmk.c:3457:4:  [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 SKY1[ SKY1_len ];
data/libmdsp-0.11/src/dcdmtrmk.c:3625:33:  [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).
         Mptr->ObscurAloftHgt = atoi(*string+3)*100;
data/libmdsp-0.11/src/dcdmtrmk.c:3829:39:  [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).
      Mptr->WaterEquivSnow = ((float) atoi(string+3))/10.;
data/libmdsp-0.11/src/dcdmtrmk.c:3848:27:  [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).
      Mptr->SunshineDur = atoi(string+2);
data/libmdsp-0.11/src/dcdmtrmk.c:3928:34:  [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).
                                 atoi(*string+1)) * 0.01;
data/libmdsp-0.11/src/dcdmtrmk.c:3947:25:  [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).
                        atoi(*string)) * 0.01;
data/libmdsp-0.11/src/dcdmtrmk.c:4032:38:  [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).
         Mptr->precip_amt = ((float) atoi(string+1)) / 100;
data/libmdsp-0.11/src/dcdmtrmk.c:4114:41:  [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).
         Mptr->precip_24_amt = ((float) atoi(string+1)) / 100.;
data/libmdsp-0.11/src/dcdmtrmk.c:4217:51:  [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).
         Mptr->DP_Temp_2_tenths = sign * ((float) atoi(token+6));
data/libmdsp-0.11/src/dcdmtrmk.c:4262:4:  [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 buf[ 6 ];
data/libmdsp-0.11/src/dcdmtrmk.c:4279:36:  [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).
         Mptr->maxtemp = ( (float) atoi(buf))/10.;
data/libmdsp-0.11/src/dcdmtrmk.c:4326:4:  [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 buf[ 6 ];
data/libmdsp-0.11/src/dcdmtrmk.c:4343:36:  [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).
         Mptr->mintemp = ( (float) atoi(buf) )/10.;
data/libmdsp-0.11/src/dcdmtrmk.c:4390:4:  [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 buf[ 6 ];
data/libmdsp-0.11/src/dcdmtrmk.c:4412:38:  [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).
         Mptr->max24temp = ( (float) atoi( buf ) )/10.;
data/libmdsp-0.11/src/dcdmtrmk.c:4426:38:  [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).
         Mptr->min24temp = ( (float) atoi(buf) )/10.;
data/libmdsp-0.11/src/dcdmtrmk.c:4470:4:  [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 buf[ 6 ];
data/libmdsp-0.11/src/dcdmtrmk.c:4485:33:  [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).
         Mptr->char_prestndcy = atoi(buf);
data/libmdsp-0.11/src/dcdmtrmk.c:4493:33:  [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).
         Mptr->char_prestndcy = atoi(buf);
data/libmdsp-0.11/src/dcdmtrmk.c:4495:37:  [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).
         Mptr->prestndcy = ((float) atoi(string+2)) * 0.1;
data/libmdsp-0.11/src/drvmetar.c:607:4:  [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 bltn_prefix[20];
data/libmdsp-0.11/src/drvmetar.c:634:16:  [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( bltn_prefix, "AAXX YYGGi##," );
data/libmdsp-0.11/src/fracpart.c:56:4:  [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 buf[ 6 ],
data/libmdsp-0.11/src/fracpart.c:71:24:  [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).
   numerator = (float) atoi(buf);
data/libmdsp-0.11/src/fracpart.c:76:26:  [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).
   denominator = (float) atoi(buf);
data/libmdsp-0.11/src/local.h:149:4:  [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 id[8];
data/libmdsp-0.11/src/local.h:159: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 cs[9];
data/libmdsp-0.11/src/local.h:333:5:  [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 TTAAii[7];
data/libmdsp-0.11/src/local.h:334:5:  [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 CCCC[5];
data/libmdsp-0.11/src/local.h:556:4:  [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 locind[4];
data/libmdsp-0.11/src/local.h:566:4:  [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 locind[4];
data/libmdsp-0.11/src/local.h:575:4:  [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 locind[4];
data/libmdsp-0.11/src/local.h:584:4:  [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 locind[4];
data/libmdsp-0.11/src/local.h:631:4:  [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 callsign[15];
data/libmdsp-0.11/src/local.h:683:4:  [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 name[44],
data/libmdsp-0.11/src/local.h:823:4:  [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 locind[4];
data/libmdsp-0.11/src/local.h:983: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 wmo_header[11];
data/libmdsp-0.11/src/local.h:984: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 AFOS_pil[10];
data/libmdsp-0.11/src/local.h:994: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 ccb[2];
data/libmdsp-0.11/src/local.h:998: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 change_date[3];
data/libmdsp-0.11/src/local.h:1001: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 birth_date[3];
data/libmdsp-0.11/src/metar_structs.h:50:4:  [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 runway_designator[6];
data/libmdsp-0.11/src/metar_structs.h:83:4:  [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 cloud_type[5];
data/libmdsp-0.11/src/metar_structs.h:84:4:  [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 cloud_hgt_char[4];
data/libmdsp-0.11/src/metar_structs.h:85:4:  [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 other_cld_phenom[4];
data/libmdsp-0.11/src/metar_structs.h:97:4:  [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 windUnits[ 4 ];
data/libmdsp-0.11/src/metar_structs.h:112:4:  [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 Recent_weather[ 5 ];
data/libmdsp-0.11/src/metar_structs.h:127:4:  [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 synoptic_cloud_type[ 6 ];
data/libmdsp-0.11/src/metar_structs.h:128:4:  [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 snow_depth_group[ 6 ];
data/libmdsp-0.11/src/metar_structs.h:129:4:  [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 codeName[ 6 ];
data/libmdsp-0.11/src/metar_structs.h:130:4:  [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 stnid[5];
data/libmdsp-0.11/src/metar_structs.h:131:4:  [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 horiz_vsby[5];
data/libmdsp-0.11/src/metar_structs.h:132:4:  [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 dir_min_horiz_vsby[3];
data/libmdsp-0.11/src/metar_structs.h:133:4:  [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 vsby_Dir[ 3 ];
data/libmdsp-0.11/src/metar_structs.h:134:4:  [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 WxObstruct[10][8];
data/libmdsp-0.11/src/metar_structs.h:135:4:  [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 autoIndicator[5];
data/libmdsp-0.11/src/metar_structs.h:136:4:  [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 VSBY_2ndSite_LOC[10];
data/libmdsp-0.11/src/metar_structs.h:137:4:  [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 SKY_2ndSite_LOC[10];
data/libmdsp-0.11/src/metar_structs.h:138:4:  [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 SKY_2ndSite[10];
data/libmdsp-0.11/src/metar_structs.h:139:4:  [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 SectorVsby_Dir[ 3 ];
data/libmdsp-0.11/src/metar_structs.h:140:4:  [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 ObscurAloft[ 12 ];
data/libmdsp-0.11/src/metar_structs.h:141:4:  [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 ObscurAloftSkyCond[ 12 ];
data/libmdsp-0.11/src/metar_structs.h:142:4:  [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 VrbSkyBelow[ 4 ];
data/libmdsp-0.11/src/metar_structs.h:143:4:  [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 VrbSkyAbove[ 4 ];
data/libmdsp-0.11/src/metar_structs.h:144:4:  [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 LTG_DIR[ 3 ];
data/libmdsp-0.11/src/metar_structs.h:148:4:  [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 CIG_2ndSite_LOC[10];
data/libmdsp-0.11/src/metar_structs.h:149:4:  [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 VIRGA_DIR[3];
data/libmdsp-0.11/src/metar_structs.h:150:4:  [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 TornadicType[15];
data/libmdsp-0.11/src/metar_structs.h:151:4:  [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 TornadicLOC[10];
data/libmdsp-0.11/src/metar_structs.h:152:4:  [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 TornadicDIR[4];
data/libmdsp-0.11/src/metar_structs.h:153:4:  [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 TornadicMovDir[3];
data/libmdsp-0.11/src/metar_structs.h:154:4:  [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 CHINO_LOC[6];
data/libmdsp-0.11/src/metar_structs.h:155:4:  [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 VISNO_LOC[6];
data/libmdsp-0.11/src/metar_structs.h:156:4:  [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 PartialObscurationAmt[2][7];
data/libmdsp-0.11/src/metar_structs.h:157:4:  [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 PartialObscurationPhenom[2][12];
data/libmdsp-0.11/src/metar_structs.h:158:4:  [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 SfcObscuration[6][10];
data/libmdsp-0.11/src/metar_structs.h:159:4:  [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 charPrevailVsby[12];
data/libmdsp-0.11/src/metar_structs.h:160:4:  [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 charVertVsby[10];
data/libmdsp-0.11/src/metar_structs.h:161:4:  [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 TS_LOC[3];
data/libmdsp-0.11/src/metar_structs.h:162:4:  [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 TS_MOVMNT[3];
data/libmdsp-0.11/src/prtdmetr.c:31:4:  [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 temp[100];
data/libmdsp-0.11/src/prtdmetr.c:37:4:  [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(string, "\n\n\n/*******************************************/\n");
data/libmdsp-0.11/src/prtdmetr.c:38:4:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
   strcat(string, "/*    THE DECODED METAR REPORT FOLLOWS     */\n");
data/libmdsp-0.11/src/prtdmetr.c:39:4:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
   strcat(string, "/*******************************************/\n\n");
data/libmdsp-0.11/src/prtdmetr.c:52: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.
      sprintf(temp, "OBSERVATION DAY     : %d\n",Mptr->ob_date);
data/libmdsp-0.11/src/prtdmetr.c:57: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.
      sprintf(temp, "OBSERVATION HOUR    : %d\n",Mptr->ob_hour);
data/libmdsp-0.11/src/prtdmetr.c:62: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.
      sprintf(temp, "OBSERVATION MINUTE  : %d\n",Mptr->ob_minute);
data/libmdsp-0.11/src/prtdmetr.c:67: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.
      sprintf(temp, "NIL REPORT          : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:72: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.
      sprintf(temp, "AUTO REPORT         : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:77: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.
      sprintf(temp, "CORRECTED REPORT    : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:82: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.
      sprintf(temp, "WIND DIRECTION VRB  : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:87: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.
      sprintf(temp, "WIND DIRECTION      : %d\n",Mptr->winData.windDir);
data/libmdsp-0.11/src/prtdmetr.c:92: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.
      sprintf(temp, "WIND SPEED          : %d\n",Mptr->winData.windSpeed);
data/libmdsp-0.11/src/prtdmetr.c:97: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.
      sprintf(temp, "WIND GUST           : %d\n",Mptr->winData.windGust);
data/libmdsp-0.11/src/prtdmetr.c:107: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.
      sprintf(temp, "MIN WIND DIRECTION  : %d\n",Mptr->minWnDir);
data/libmdsp-0.11/src/prtdmetr.c:112: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.
      sprintf(temp, "MAX WIND DIRECTION  : %d\n",Mptr->maxWnDir);
data/libmdsp-0.11/src/prtdmetr.c:117: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.
      sprintf(temp, "PREVAIL VSBY (M)    : %f\n",Mptr->prevail_vsbyM);
data/libmdsp-0.11/src/prtdmetr.c:122: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.
      sprintf(temp, "PREVAIL VSBY (KM)   : %f\n",Mptr->prevail_vsbyKM);
data/libmdsp-0.11/src/prtdmetr.c:127: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.
      sprintf(temp, "PREVAIL VSBY (SM)   : %.3f\n",Mptr->prevail_vsbySM);
data/libmdsp-0.11/src/prtdmetr.c:142: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.
      sprintf(temp, "RVRNO               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:155:10:  [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(temp, "R_WAY VIS RANGE (FT): %d\n",
data/libmdsp-0.11/src/prtdmetr.c:161:10:  [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(temp, "VRBL VISUAL RANGE   : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:166:10:  [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(temp, "BELOW MIN RVR       : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:171:10:  [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(temp, "ABOVE MAX RVR       : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:176:10:  [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(temp, "MX R_WAY VISRNG (FT): %d\n",
data/libmdsp-0.11/src/prtdmetr.c:182:10:  [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(temp, "MN R_WAY VISRNG (FT): %d\n",
data/libmdsp-0.11/src/prtdmetr.c:191: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.
      sprintf(temp, "DISPATCH VIS RANGE  : %d\n",
data/libmdsp-0.11/src/prtdmetr.c:197: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.
      sprintf(temp, "VRBL DISPATCH VISRNG: TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:202: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.
      sprintf(temp, "BELOW MIN DVR       : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:207: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.
      sprintf(temp, "ABOVE MAX DVR       : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:212: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.
      sprintf(temp, "MX DSPAT VISRNG (FT): %d\n",
data/libmdsp-0.11/src/prtdmetr.c:218: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.
      sprintf(temp, "MN DSPAT VISRNG (FT): %d\n",
data/libmdsp-0.11/src/prtdmetr.c:274:10:  [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(temp, "CLOUD HGT (METERS)  : %d\n",
data/libmdsp-0.11/src/prtdmetr.c:290: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.
      sprintf(temp, "TEMP. (CELSIUS)     : %d\n", Mptr->temp);
data/libmdsp-0.11/src/prtdmetr.c:295: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.
      sprintf(temp, "D.P. TEMP. (CELSIUS): %d\n", Mptr->dew_pt_temp);
data/libmdsp-0.11/src/prtdmetr.c:300: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.
      sprintf(temp, "ALTIMETER (INCHES)  : %.2f\n",
data/libmdsp-0.11/src/prtdmetr.c:306: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.
      sprintf(temp, "ALTIMETER (PASCALS) : %d\n",
data/libmdsp-0.11/src/prtdmetr.c:318: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.
      sprintf(temp, "TORN. ACTVTY BEGHOUR: %d\n",
data/libmdsp-0.11/src/prtdmetr.c:324: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.
      sprintf(temp, "TORN. ACTVTY BEGMIN : %d\n",
data/libmdsp-0.11/src/prtdmetr.c:330: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.
      sprintf(temp, "TORN. ACTVTY ENDHOUR: %d\n",
data/libmdsp-0.11/src/prtdmetr.c:336: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.
      sprintf(temp, "TORN. ACTVTY ENDMIN : %d\n",
data/libmdsp-0.11/src/prtdmetr.c:342: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.
      sprintf(temp, "TORN. DIST. FROM STN: %d\n",
data/libmdsp-0.11/src/prtdmetr.c:373: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.
      sprintf(temp, "PEAK WIND DIRECTION : %d\n",Mptr->PKWND_dir);
data/libmdsp-0.11/src/prtdmetr.c:377: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.
      sprintf(temp, "PEAK WIND SPEED     : %d\n",Mptr->PKWND_speed);
data/libmdsp-0.11/src/prtdmetr.c:381: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.
      sprintf(temp, "PEAK WIND HOUR      : %d\n",Mptr->PKWND_hour);
data/libmdsp-0.11/src/prtdmetr.c:385: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.
      sprintf(temp, "PEAK WIND MINUTE    : %d\n",Mptr->PKWND_minute);
data/libmdsp-0.11/src/prtdmetr.c:390: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.
      sprintf(temp, "HOUR OF WIND SHIFT  : %d\n",Mptr->WshfTime_hour);
data/libmdsp-0.11/src/prtdmetr.c:394: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.
      sprintf(temp, "MINUTE OF WIND SHIFT: %d\n",Mptr->WshfTime_minute);
data/libmdsp-0.11/src/prtdmetr.c:398: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.
      sprintf(temp, "FROPA ASSOC. W/WSHFT: TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:403: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.
      sprintf(temp, "TOWER VISIBILITY    : %.2f\n",Mptr->TWR_VSBY);
data/libmdsp-0.11/src/prtdmetr.c:407: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.
      sprintf(temp, "SURFACE VISIBILITY  : %.2f\n",Mptr->SFC_VSBY);
data/libmdsp-0.11/src/prtdmetr.c:412: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.
      sprintf(temp, "MIN VRBL_VIS (SM)   : %.4f\n",Mptr->minVsby);
data/libmdsp-0.11/src/prtdmetr.c:416: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.
      sprintf(temp, "MAX VRBL_VIS (SM)   : %.4f\n",Mptr->maxVsby);
data/libmdsp-0.11/src/prtdmetr.c:421: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.
      sprintf(temp, "VSBY_2ndSite (SM)   : %.4f\n",Mptr->VSBY_2ndSite);
data/libmdsp-0.11/src/prtdmetr.c:432: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.
      sprintf(temp, "OCCASSIONAL LTG     : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:437: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.
      sprintf(temp, "FREQUENT LIGHTNING  : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:442: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.
      sprintf(temp, "CONTINUOUS LTG      : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:447: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.
      sprintf(temp, "CLOUD-GROUND LTG    : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:452: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.
      sprintf(temp, "IN-CLOUD LIGHTNING  : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:457: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.
      sprintf(temp, "CLD-CLD LIGHTNING   : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:462: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.
      sprintf(temp, "CLOUD-AIR LIGHTNING : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:467: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.
      sprintf(temp, "LIGHTNING AT AIRPORT: TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:472: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.
      sprintf(temp, "LIGHTNING OVERHEAD  : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:477: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.
      sprintf(temp, "DISTANT LIGHTNING   : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:482: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.
      sprintf(temp, "L'NING W/I 5-10(ALP): TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:487: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.
      sprintf(temp, "L'NING W/I 5 (ALP)  : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:492: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.
      sprintf(temp, "VCY STN LIGHTNING   : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:511:10:  [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(temp, " BEG_hh = %d",Mptr->ReWx[i].Bhh);
data/libmdsp-0.11/src/prtdmetr.c:515:10:  [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(temp, " BEG_mm = %d",Mptr->ReWx[i].Bmm);
data/libmdsp-0.11/src/prtdmetr.c:520:10:  [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(temp, " END_hh = %d",Mptr->ReWx[i].Ehh);
data/libmdsp-0.11/src/prtdmetr.c:524:10:  [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(temp, " END_mm = %d",Mptr->ReWx[i].Emm);
data/libmdsp-0.11/src/prtdmetr.c:534: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.
      sprintf(temp, "MIN VRBL_CIG (FT)   : %d\n",Mptr->minCeiling);
data/libmdsp-0.11/src/prtdmetr.c:538: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.
      sprintf(temp, "MAX VRBL_CIG (FT))  : %d\n",Mptr->maxCeiling);
data/libmdsp-0.11/src/prtdmetr.c:543: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.
      sprintf(temp, "CIG2ndSite (FT)     : %d\n",Mptr->CIG_2ndSite_Meters);
data/libmdsp-0.11/src/prtdmetr.c:552: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.
      sprintf(temp, "PRESFR              : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:556: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.
      sprintf(temp, "PRESRR              : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:561: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.
      sprintf(temp, "SLPNO               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:566: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.
      sprintf(temp, "SLP (hPa)           : %.1f\n", Mptr->SLP);
data/libmdsp-0.11/src/prtdmetr.c:571: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.
      sprintf(temp, "SECTOR VSBY (MILES) : %.2f\n", Mptr->SectorVsby );
data/libmdsp-0.11/src/prtdmetr.c:591: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.
      sprintf(temp, "GR (HAILSTONES)     : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:596: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.
      sprintf(temp, "HLSTO SIZE (INCHES) : %.3f\n",Mptr->GR_Size);
data/libmdsp-0.11/src/prtdmetr.c:601: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.
      sprintf(temp, "VIRGA               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:619: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.
      sprintf(temp, "8ths of SkyObscured : %d\n",Mptr->Num8thsSkyObscured);
data/libmdsp-0.11/src/prtdmetr.c:624: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.
      sprintf(temp, "CIGNO               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:629: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.
      sprintf(temp, "Ceiling (ft)        : %d\n",Mptr->Ceiling);
data/libmdsp-0.11/src/prtdmetr.c:634: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.
      sprintf(temp, "Estimated CIG (ft)  : %d\n",Mptr->Estimated_Ceiling);
data/libmdsp-0.11/src/prtdmetr.c:649: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.
      sprintf(temp, "VRBSKY COND HGT (FT): %d\n",Mptr->VrbSkyLayerHgt);
data/libmdsp-0.11/src/prtdmetr.c:654: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.
      sprintf(temp, "Hgt Obscur Aloft(ft): %d\n",Mptr->ObscurAloftHgt);
data/libmdsp-0.11/src/prtdmetr.c:670: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.
      sprintf(temp, "NOSPECI             : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:675: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.
      sprintf(temp, "LAST                : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:685: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.
      sprintf(temp, "LOW CLOUD CODE      : %c\n",Mptr->CloudLow);
data/libmdsp-0.11/src/prtdmetr.c:690: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.
      sprintf(temp, "MEDIUM CLOUD CODE   : %c\n",Mptr->CloudMedium);
data/libmdsp-0.11/src/prtdmetr.c:695: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.
      sprintf(temp, "HIGH CLOUD CODE     : %c\n",Mptr->CloudHigh);
data/libmdsp-0.11/src/prtdmetr.c:700: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.
      sprintf(temp, "SNINCR (INCHES)     : %d\n",Mptr->SNINCR);
data/libmdsp-0.11/src/prtdmetr.c:705: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.
      sprintf(temp, "SNINCR(TOT. INCHES) : %d\n",Mptr->SNINCR_TotalDepth);
data/libmdsp-0.11/src/prtdmetr.c:715: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.
      sprintf(temp, "SNOW DEPTH (INCHES) : %d\n",Mptr->snow_depth);
data/libmdsp-0.11/src/prtdmetr.c:720: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.
      sprintf(temp, "H2O EquivSno(inches): %.2f\n",Mptr->WaterEquivSnow);
data/libmdsp-0.11/src/prtdmetr.c:725: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.
      sprintf(temp, "SUNSHINE (MINUTES)  : %d\n",Mptr->SunshineDur);
data/libmdsp-0.11/src/prtdmetr.c:730: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.
      sprintf(temp, "SUN SENSOR OUT      : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:735: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.
      sprintf(temp, "HRLY PRECIP (INCHES): %.2f\n",Mptr->hourlyPrecip);
data/libmdsp-0.11/src/prtdmetr.c:740: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.
      sprintf(temp, "3/6HR PRCIP (INCHES): %.2f\n",
data/libmdsp-0.11/src/prtdmetr.c:746: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.
      sprintf(temp, "INDTRMN 3/6HR PRECIP: TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:751: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.
      sprintf(temp, "24HR PRECIP (INCHES): %.2f\n",
data/libmdsp-0.11/src/prtdmetr.c:757: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.
      sprintf(temp, "INDTRMN 24 HR PRECIP: TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:762: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.
      sprintf(temp, "TMP2TENTHS (CELSIUS): %.1f\n",Mptr->Temp_2_tenths);
data/libmdsp-0.11/src/prtdmetr.c:767: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.
      sprintf(temp, "DPT2TENTHS (CELSIUS): %.1f\n",Mptr->DP_Temp_2_tenths);
data/libmdsp-0.11/src/prtdmetr.c:772: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.
      sprintf(temp, "MAX TEMP (CELSIUS)  : %.1f\n",
data/libmdsp-0.11/src/prtdmetr.c:778: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.
      sprintf(temp, "MIN TEMP (CELSIUS)  : %.1f\n",
data/libmdsp-0.11/src/prtdmetr.c:784: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.
      sprintf(temp, "24HrMAXTMP (CELSIUS): %.1f\n",
data/libmdsp-0.11/src/prtdmetr.c:790: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.
      sprintf(temp, "24HrMINTMP (CELSIUS): %.1f\n",
data/libmdsp-0.11/src/prtdmetr.c:796: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.
      sprintf(temp, "CHAR PRESS TENDENCY : %d\n",
data/libmdsp-0.11/src/prtdmetr.c:802: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.
      sprintf(temp, "PRES. TENDENCY (hPa): %.1f\n",
data/libmdsp-0.11/src/prtdmetr.c:808: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.
      sprintf(temp, "PWINO               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:813: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.
      sprintf(temp, "PNO                 : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:818: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.
      sprintf(temp, "CHINO               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:828: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.
      sprintf(temp, "VISNO               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:838: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.
      sprintf(temp, "FZRANO              : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:843: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.
      sprintf(temp, "TSNO                : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:848: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.
      sprintf(temp, "DOLLAR $IGN INDCATR : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:863: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.
      sprintf(temp, "CAVOK               : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:869: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.
      sprintf(temp, "Vert. Vsby (meters) : %d\n",
data/libmdsp-0.11/src/prtdmetr.c:881: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.
      sprintf(temp, "QFE                 : %d\n", Mptr->QFE);
data/libmdsp-0.11/src/prtdmetr.c:886: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.
      sprintf(temp, "VOLCANIC ASH        : TRUE\n");
data/libmdsp-0.11/src/prtdmetr.c:891: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.
      sprintf(temp, "MIN VRBL WIND DIR   : %d\n",Mptr->min_vrbl_wind_dir);
data/libmdsp-0.11/src/prtdmetr.c:895: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.
      sprintf(temp, "MAX VRBL WIND DIR   : %d\n",Mptr->max_vrbl_wind_dir);
data/libmdsp-0.11/src/prtdmetr.c:900:4:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
   strcat(string, "\n\n\n");
data/libmdsp-0.11/src/prtdmetr.c:906: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 string[5000];
data/libmdsp-0.11/src/dcdmetar.c:97: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).
   token[NDEX] = (char *) malloc(sizeof(char)*(strlen(TOKEN)+1));
data/libmdsp-0.11/src/dcdmetar.c:109:52:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                              malloc(sizeof(char)*(strlen(TOKEN)+1));
data/libmdsp-0.11/src/dcdmetar.c:680: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).
   if( strlen(token) < 6 )
data/libmdsp-0.11/src/dcdmetar.c:774: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).
   if( strlen(token) > 6 )
data/libmdsp-0.11/src/dcdmetar.c:775:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(Mptr->cldTypHgt[next].other_cld_phenom,token+6,
data/libmdsp-0.11/src/dcdmetar.c:776: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).
              (strlen(token)-6));
data/libmdsp-0.11/src/dcdmetar.c:778:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(Mptr->cldTypHgt[next].cloud_type,token,3);
data/libmdsp-0.11/src/dcdmetar.c:780:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(Mptr->cldTypHgt[next].cloud_hgt_char,token+3,3);
data/libmdsp-0.11/src/dcdmetar.c:868: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).
             && strlen(*skycond) == 5 &&
data/libmdsp-0.11/src/dcdmetar.c:872:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(Mptr->cldTypHgt[0].cloud_type,*skycond,2);
data/libmdsp-0.11/src/dcdmetar.c:1058:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy( temp, visibility, (SM_KM_ptr-visibility) );
data/libmdsp-0.11/src/dcdmetar.c:1068:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(numerator, visibility, (Slash_ptr - visibility));
data/libmdsp-0.11/src/dcdmetar.c:1076:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(denominator,
data/libmdsp-0.11/src/dcdmetar.c:1200: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).
               strlen(*visblty)) &&
data/libmdsp-0.11/src/dcdmetar.c:1201: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).
                            strlen(*visblty) < 4 )
data/libmdsp-0.11/src/dcdmetar.c:1204: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).
                              (strlen(*visblty)+1));
data/libmdsp-0.11/src/dcdmetar.c:1247: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).
                strlen(*visblty) >= 4)
data/libmdsp-0.11/src/dcdmetar.c:1291: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).
                  strlen(*visblty)) >= 50 &&
data/libmdsp-0.11/src/dcdmetar.c:1293: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).
                  strlen(*visblty)) <= 500 &&
data/libmdsp-0.11/src/dcdmetar.c:1295: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).
                  strlen(*visblty)) % 50) == 0 )
data/libmdsp-0.11/src/dcdmetar.c:1299: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).
                       strlen(*visblty)));
data/libmdsp-0.11/src/dcdmetar.c:1304: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).
                 strlen(*visblty)) >= 500 &&
data/libmdsp-0.11/src/dcdmetar.c:1306: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).
                 strlen(*visblty)) <= 3000 &&
data/libmdsp-0.11/src/dcdmetar.c:1308: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).
                 strlen(*visblty)) % 100) == 0 )
data/libmdsp-0.11/src/dcdmetar.c:1312: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).
                      strlen(*visblty)));
data/libmdsp-0.11/src/dcdmetar.c:1317: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).
              strlen(*visblty)) >= 3000 &&
data/libmdsp-0.11/src/dcdmetar.c:1319: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).
              strlen(*visblty)) <= 5000 &&
data/libmdsp-0.11/src/dcdmetar.c:1321: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).
                  strlen(*visblty)) % 500) == 0 )
data/libmdsp-0.11/src/dcdmetar.c:1325: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).
                    strlen(*visblty)));
data/libmdsp-0.11/src/dcdmetar.c:1330: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(*visblty)) >= 5000 &&
data/libmdsp-0.11/src/dcdmetar.c:1332: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(*visblty)) <= 9999 &&
data/libmdsp-0.11/src/dcdmetar.c:1334: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(*visblty)) % 500) == 0 ||
data/libmdsp-0.11/src/dcdmetar.c:1336: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(*visblty)) == 9999 )
data/libmdsp-0.11/src/dcdmetar.c:1340: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).
                     strlen(*visblty)));
data/libmdsp-0.11/src/dcdmetar.c:1399:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf, string1, V_char-string1);
data/libmdsp-0.11/src/dcdmetar.c:1407:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf, V_char+1, 5);
data/libmdsp-0.11/src/dcdmetar.c:1418:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(temp, string1, V_char-string1);
data/libmdsp-0.11/src/dcdmetar.c:1443: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).
             nisdigit(slash+1,strlen(slash+1)) )
data/libmdsp-0.11/src/dcdmetar.c:1498:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy( buf, string, V_char - string);
data/libmdsp-0.11/src/dcdmetar.c:1548: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).
   if( *token != 'R' || (length = strlen(token)) < 7 ||
data/libmdsp-0.11/src/dcdmetar.c:1557: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( strcmp(token+(strlen(token)-2),"FT") != 0 )
data/libmdsp-0.11/src/dcdmetar.c:1560: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).
      FT_ptr = token + (strlen(token)-2);
data/libmdsp-0.11/src/dcdmetar.c:1569:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(Mptr->RRVR[ndex].runway_designator, token+1,
data/libmdsp-0.11/src/dcdmetar.c:1633: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).
   if( strlen(token) < 5 )
data/libmdsp-0.11/src/dcdmetar.c:1641: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).
           (nisdigit(token+1, strlen(token)-1) ||
data/libmdsp-0.11/src/dcdmetar.c:1642: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).
            nisdigit(token+1,strlen(token)-3)) )
data/libmdsp-0.11/src/dcdmetar.c:1656:16:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
               strncpy(dummy,token+1,4);
data/libmdsp-0.11/src/dcdmetar.c:1735: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).
           nisdigit(slash+1,strlen(slash+1)) )
data/libmdsp-0.11/src/dcdmetar.c:1744: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).
            *(slash+1) == 'M' && nisdigit(slash+2,strlen(slash+2)) )
data/libmdsp-0.11/src/dcdmetar.c:1753: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).
               nisdigit(slash+1,strlen(slash+1)) )
data/libmdsp-0.11/src/dcdmetar.c:1762: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).
                    nisdigit(slash+2,strlen(slash+2)) )
data/libmdsp-0.11/src/dcdmetar.c:1770: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).
           strlen(token) <= 3)
data/libmdsp-0.11/src/dcdmetar.c:1778: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).
                   strlen(token) <= 4)
data/libmdsp-0.11/src/dcdmetar.c:1824: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 = 0; i < strlen(token); i++ )
data/libmdsp-0.11/src/dcdmetar.c:1891: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).
        (char *) malloc(sizeof(char)*(strlen(token)+1));
data/libmdsp-0.11/src/dcdmetar.c:1906: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).
                      strlen(WxSymbols[i])) != 0 )
data/libmdsp-0.11/src/dcdmetar.c:1920:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy( Mptr->WxObstruct[*next], save_token, 1);
data/libmdsp-0.11/src/dcdmetar.c:1935: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).
            temp_token = ptr + strlen(WxSymbols[i]);
data/libmdsp-0.11/src/dcdmetar.c:1990: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).
   if( strlen(stnID) == 4 )
data/libmdsp-0.11/src/dcdmetar.c:2210: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).
   if( strlen( UTC ) == 4 ) {
data/libmdsp-0.11/src/dcdmetar.c:2220: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).
   else if( strlen( UTC ) == 6 ) {
data/libmdsp-0.11/src/dcdmetar.c:2231: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).
   if( strlen( UTC ) == 5 ) {
data/libmdsp-0.11/src/dcdmetar.c:2241: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).
   else if( strlen( UTC ) == 7 ) {
data/libmdsp-0.11/src/dcdmetar.c:2293: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).
   if( strlen(wind) < 7 )
data/libmdsp-0.11/src/dcdmetar.c:2516: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).
	stringCpy = calloc(strlen(string) + 1, sizeof(char));
data/libmdsp-0.11/src/dcdmetar.c:2773: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).
	string_cpy = (char *) calloc(strlen(string), sizeof(char));
data/libmdsp-0.11/src/dcdmtrmk.c:187: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( (length = strlen( token )) < 4 )
data/libmdsp-0.11/src/dcdmtrmk.c:198: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( strcmp(token+(strlen(token)-2),"FT") != 0 )
data/libmdsp-0.11/src/dcdmtrmk.c:201: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).
      FT_ptr = token + (strlen(token)-2);
data/libmdsp-0.11/src/dcdmtrmk.c:430: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).
               if( nisdigit((*string)+1, strlen((*string)+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:431: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).
                     strlen((*string)+1) <= 4 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:433: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).
                                      strlen((*string)+1));
data/libmdsp-0.11/src/dcdmtrmk.c:452: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).
               if( nisdigit((*string)+1,strlen((*string)+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:453: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).
                        strlen((*string)+1) <= 4 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:455: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).
                                     strlen((*string)+1));
data/libmdsp-0.11/src/dcdmtrmk.c:493: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).
                                        strlen(E_stringPtr+1));
data/libmdsp-0.11/src/dcdmtrmk.c:513: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).
         else if( nisdigit(*string, strlen(*string))) {
data/libmdsp-0.11/src/dcdmtrmk.c:529: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).
                                  strlen(*string));
data/libmdsp-0.11/src/dcdmtrmk.c:952: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).
   else if( strlen(*string) >= 8 && strlen(*string) <= 11 &&
data/libmdsp-0.11/src/dcdmtrmk.c:952: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).
   else if( strlen(*string) >= 8 && strlen(*string) <= 11 &&
data/libmdsp-0.11/src/dcdmtrmk.c:953: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).
             nisdigit(slash+1,strlen(slash+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:958:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy( buf, *string, 3 );
data/libmdsp-0.11/src/dcdmtrmk.c:962:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy( buf, *string+3, slash-(*string+3) );
data/libmdsp-0.11/src/dcdmtrmk.c:1068: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( nisdigit(*string,strlen(*string)) && strlen(*string) <= 4)
data/libmdsp-0.11/src/dcdmtrmk.c:1068: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( nisdigit(*string,strlen(*string)) && strlen(*string) <= 4)
data/libmdsp-0.11/src/dcdmtrmk.c:1210: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).
              strlen(*token)))
data/libmdsp-0.11/src/dcdmtrmk.c:1219: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).
            if( nisdigit(slash+1,strlen(slash+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:1257: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( nisdigit(slash+1,strlen(slash+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:1367: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).
              strlen(*token)))
data/libmdsp-0.11/src/dcdmtrmk.c:1376: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).
            if( nisdigit(slash+1,strlen(slash+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:1414: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( nisdigit(slash+1,strlen(slash+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:1524: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).
         nisdigit(*string,strlen(*string))) )
data/libmdsp-0.11/src/dcdmtrmk.c:1526: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).
   else if( nisdigit(*string,strlen(*string)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1541: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).
                  nisdigit(V_char+1,strlen(V_char+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1546:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(buf,*string,(V_char - *string));
data/libmdsp-0.11/src/dcdmtrmk.c:1564: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).
                           nisdigit(slash+1, strlen(slash+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1589: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).
            nisdigit(V_char+1,strlen(V_char+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1605: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).
                     nisdigit(slash+1,strlen(slash+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1633:16:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
               strncpy(buf,*string,(V_char - *string));
data/libmdsp-0.11/src/dcdmtrmk.c:1637: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).
               if( nisdigit(V_char+1, strlen(V_char+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1653: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).
                         nisdigit((slash+1),strlen(slash+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1675: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).
                     nisdigit((slash2+1),strlen(slash2+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1775: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).
              strlen(*token)))
data/libmdsp-0.11/src/dcdmtrmk.c:1784: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).
            if( nisdigit(slash+1,strlen(slash+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:1796: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).
                  if( nisalnum( *token, strlen(*token) ) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1813: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).
                  if( nisalnum( *token, strlen(*token) ) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1831: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).
               if( nisalnum( *token, strlen(*token) ) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1848: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).
            if( nisalnum( *token, strlen(*token) ) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:1867: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( nisdigit(slash+1,strlen(slash+1)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:1873: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).
            if( nisalnum( *token, strlen(*token) ) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2315: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).
             (strlen(*token) + 1))) == NULL ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2332: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).
      while( strncmp(temp, phenom[i],strlen(phenom[i])) != 0 &&
data/libmdsp-0.11/src/dcdmtrmk.c:2338: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).
         C_char = (strlen(phenom[i]) - 1) + temp;
data/libmdsp-0.11/src/dcdmtrmk.c:2344: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).
         if( nisdigit(numb_char,4) && strlen(numb_char) >= 4) {
data/libmdsp-0.11/src/dcdmtrmk.c:2360: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).
                              strlen(numb_char) >= 4 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2374: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).
                            strlen(numb_char) >= 2 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2386:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(Mptr->ReWx[*NDEX].Recent_weather,
data/libmdsp-0.11/src/dcdmtrmk.c:2387: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).
                             phenom[i], (strlen(phenom[i])-1) );
data/libmdsp-0.11/src/dcdmtrmk.c:2413: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).
                             strlen(numb_char) >= 4 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2428: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).
                           strlen(numb_char) >= 2 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2441:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(Mptr->ReWx[*NDEX].Recent_weather,
data/libmdsp-0.11/src/dcdmtrmk.c:2442: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).
                          phenom[i], (strlen(phenom[i])-1) );
data/libmdsp-0.11/src/dcdmtrmk.c:2454: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).
         else if(nisdigit(numb_char,2) && strlen(numb_char) >= 2 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2469: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).
                           strlen(numb_char) >= 4 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2483: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).
                             strlen(numb_char) >= 2 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2494:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy( Mptr->ReWx[*NDEX].Recent_weather,
data/libmdsp-0.11/src/dcdmtrmk.c:2495: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).
                           phenom[i], (strlen(phenom[i])-1) );
data/libmdsp-0.11/src/dcdmtrmk.c:2515: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).
                               strlen(numb_char) >= 4 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2528: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).
                             strlen(numb_char) >= 2 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2540:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy( Mptr->ReWx[*NDEX].Recent_weather,
data/libmdsp-0.11/src/dcdmtrmk.c:2541: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).
                           phenom[i], (strlen(phenom[i])-1) );
data/libmdsp-0.11/src/dcdmtrmk.c:2624: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).
            nisdigit( V_char+1, strlen(V_char+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:2692: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).
   if( strlen(*token) != 3 )
data/libmdsp-0.11/src/dcdmtrmk.c:2983:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,2);
data/libmdsp-0.11/src/dcdmtrmk.c:2985:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,2);
data/libmdsp-0.11/src/dcdmtrmk.c:2987:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,2);
data/libmdsp-0.11/src/dcdmtrmk.c:2989:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,2);
data/libmdsp-0.11/src/dcdmtrmk.c:2991:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,1);
data/libmdsp-0.11/src/dcdmtrmk.c:2993:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,1);
data/libmdsp-0.11/src/dcdmtrmk.c:2995:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,1);
data/libmdsp-0.11/src/dcdmtrmk.c:2997:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(dd,*string,1);
data/libmdsp-0.11/src/dcdmtrmk.c:3016:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(temp, *string, result);
data/libmdsp-0.11/src/dcdmtrmk.c:3033: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).
                  nisdigit(slash+1,strlen(slash+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3185: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).
               nisdigit( slash+1, strlen(slash+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3198: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).
      else if( nisdigit( *string, strlen(*string) ) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3199: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).
         Mptr->GR_Size = antoi( *string, strlen(*string) );
data/libmdsp-0.11/src/dcdmtrmk.c:3209: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).
                     nisdigit( slash+1, strlen(slash+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3356: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).
   if( strlen(string) < 4 )
data/libmdsp-0.11/src/dcdmtrmk.c:3362: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).
   if( !(nisdigit(string+(strlen(string)-1), 1)) )
data/libmdsp-0.11/src/dcdmtrmk.c:3366:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy( ww, temp, (strlen(string)-2) );
data/libmdsp-0.11/src/dcdmtrmk.c:3366: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).
      strncpy( ww, temp, (strlen(string)-2) );
data/libmdsp-0.11/src/dcdmtrmk.c:3370: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).
      numLoc = temp + (strlen(temp) - 1 );
data/libmdsp-0.11/src/dcdmtrmk.c:3378: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).
            if( strncmp( WxSymbols[i], temp, strlen(WxSymbols[i]))
data/libmdsp-0.11/src/dcdmtrmk.c:3391: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).
            temp += strlen(WxSymbols[i]);
data/libmdsp-0.11/src/dcdmtrmk.c:3418: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).
   if( !(strncmp(string,"CIG",3) == 0 && strlen(string) >= 5) )
data/libmdsp-0.11/src/dcdmtrmk.c:3426: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).
      else if( strlen( string+3 ) == 3 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3427: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).
         if( nisdigit(string+3, strlen(string+3)) &&
data/libmdsp-0.11/src/dcdmtrmk.c:3428: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).
                    strlen(string+3) == 3 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3436: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).
      else if( strlen(string+3) == 4 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3473: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).
      if( strncmp(*string, cldPtr[i], strlen(cldPtr[i])) != 0 )
data/libmdsp-0.11/src/dcdmtrmk.c:3509: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( strncmp(*string, cldPtr[i], strlen(cldPtr[i])) != 0 )
data/libmdsp-0.11/src/dcdmtrmk.c:3521: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(strlen(SKY1) == 6 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3523:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(Mptr->VrbSkyBelow,SKY1,3);
data/libmdsp-0.11/src/dcdmtrmk.c:3596: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( strncmp(temp,WxSymbols[i],strlen(WxSymbols[i])) != 0 )
data/libmdsp-0.11/src/dcdmtrmk.c:3606: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).
         temp += strlen(WxSymbols[i]);
data/libmdsp-0.11/src/dcdmtrmk.c:3614: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).
   if( strlen(*string) != 6 )
data/libmdsp-0.11/src/dcdmtrmk.c:3624:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(Mptr->ObscurAloftSkyCond, *string,3);
data/libmdsp-0.11/src/dcdmtrmk.c:3702: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(token) != 5)
data/libmdsp-0.11/src/dcdmtrmk.c:3749: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).
                 nisdigit(slash+1,strlen(slash+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3751: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).
         Mptr->SNINCR_TotalDepth = antoi(slash+1,strlen(slash+1));
data/libmdsp-0.11/src/dcdmtrmk.c:3797: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(token) != 5)
data/libmdsp-0.11/src/dcdmtrmk.c:3822: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).
   if( strlen(string) != 6 )
data/libmdsp-0.11/src/dcdmtrmk.c:3843: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).
   if( strlen(string) != 5 )
data/libmdsp-0.11/src/dcdmtrmk.c:3926: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).
      if( nisdigit((*string+1), strlen(*string+1)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:3945: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( nisdigit(*string,strlen(*string)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:4019: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).
   if( strlen(string) != 5 )
data/libmdsp-0.11/src/dcdmtrmk.c:4102: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).
   if( strlen(string) != 5 )
data/libmdsp-0.11/src/dcdmtrmk.c:4191: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).
   else if( !(strlen(token) == 5 || strlen(token) == 9) )
data/libmdsp-0.11/src/dcdmtrmk.c:4191: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).
   else if( !(strlen(token) == 5 || strlen(token) == 9) )
data/libmdsp-0.11/src/dcdmtrmk.c:4267: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(string) != 5 )
data/libmdsp-0.11/src/dcdmtrmk.c:4278:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf,string+2,3);
data/libmdsp-0.11/src/dcdmtrmk.c:4331: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(string) != 5 )
data/libmdsp-0.11/src/dcdmtrmk.c:4342:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf,string+2,3);
data/libmdsp-0.11/src/dcdmtrmk.c:4395: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).
   if( strlen(string) != 9 )
data/libmdsp-0.11/src/dcdmtrmk.c:4411:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf, string+2, 3);
data/libmdsp-0.11/src/dcdmtrmk.c:4425:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf, string+6, 3);
data/libmdsp-0.11/src/dcdmtrmk.c:4475: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(string) != 5)
data/libmdsp-0.11/src/dcdmtrmk.c:4484:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf,(string+1),1);
data/libmdsp-0.11/src/dcdmtrmk.c:4492:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(buf,(string+1),1);
data/libmdsp-0.11/src/dcdmtrmk.c:4676: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).
   if( strlen(*string) <= 2 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:4682: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).
            nisdigit(*string+2,strlen(*string+2)) ) {
data/libmdsp-0.11/src/dcdmtrmk.c:4737: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).
   if( strlen(*string) <= 2 ) {
data/libmdsp-0.11/src/dcdmtrmk.c:4743: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).
            nisdigit(*string+2,strlen(*string+2))) {
data/libmdsp-0.11/src/fracpart.c:69:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy( buf, string, slash-string);
data/libmdsp-0.11/src/local.h:84: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).
#define getln(s, n)  ((fgets(s, n, stdin)==NULL) ? EOF : strlen(s))
data/libmdsp-0.11/src/prtdmetr.c:528:7:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
      strcat(string, "\n");

ANALYSIS SUMMARY:

Hits = 763
Lines analyzed = 12508 in approximately 0.43 seconds (28985 lines/second)
Physical Source Lines of Code (SLOC) = 7408
Hits@level = [0]  37 [1] 196 [2] 310 [3]   0 [4] 257 [5]   0
Hits@level+ = [0+] 800 [1+] 763 [2+] 567 [3+] 257 [4+] 257 [5+]   0
Hits/KSLOC@level+ = [0+] 107.991 [1+] 102.997 [2+] 76.5389 [3+] 34.6922 [4+] 34.6922 [5+]   0
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.