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/up-imapproxy-1.2.8~svn20171105/src/icc.c Examining data/up-imapproxy-1.2.8~svn20171105/src/logging.c Examining data/up-imapproxy-1.2.8~svn20171105/src/config.c Examining data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c Examining data/up-imapproxy-1.2.8~svn20171105/src/becomenonroot.c Examining data/up-imapproxy-1.2.8~svn20171105/src/hash.c Examining data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c Examining data/up-imapproxy-1.2.8~svn20171105/src/main.c Examining data/up-imapproxy-1.2.8~svn20171105/src/request.c Examining data/up-imapproxy-1.2.8~svn20171105/src/select.c Examining data/up-imapproxy-1.2.8~svn20171105/src/threads.c Examining data/up-imapproxy-1.2.8~svn20171105/include/common.h Examining data/up-imapproxy-1.2.8~svn20171105/include/imapproxy.h Examining data/up-imapproxy-1.2.8~svn20171105/acconfig.h FINAL RESULTS: data/up-imapproxy-1.2.8~svn20171105/src/becomenonroot.c:141:10: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. if ( chown( PC_Struct.stat_filename, newuid, newgid ) < 0 ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:846:10: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. rc = chown( PC_Struct.protocol_log_filename, pw->pw_uid, pw->pw_gid ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1193:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy( fullResponse, tokenptr ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1138:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( DestBuf, "%s", CP ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1263:2: [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( DestBuf, CP ); data/up-imapproxy-1.2.8~svn20171105/src/becomenonroot.c:177:7: [3] (misc) chroot: chroot can be very helpful, but is hard to use correctly (CWE-250, CWE-22). Make sure the program immediately chdir("/"), closes file descriptors, and drops root privileges, and that all necessary files (and no more!) are in the new root. if ( chroot( PC_Struct.chroot_directory ) < 0 || chdir( "/" ) < 0 ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:326:18: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while (( i = getopt( argc, argv, "f:p:h" ) ) != EOF ) data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:172:18: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while (( i = getopt( argc, argv, "f:ch" ) ) != EOF ) data/up-imapproxy-1.2.8~svn20171105/include/imapproxy.h:220: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 MailboxName[ MAXMAILBOXNAME ]; data/up-imapproxy-1.2.8~svn20171105/include/imapproxy.h:221: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 SelectString[ SELECT_BUF_SIZE ]; data/up-imapproxy-1.2.8~svn20171105/include/imapproxy.h:222: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 SelectStatus[ SELECT_STATUS_BUF_SIZE ]; data/up-imapproxy-1.2.8~svn20171105/include/imapproxy.h:249: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 ReadBuf[ BUFSIZE ]; /* Read Buffer */ data/up-imapproxy-1.2.8~svn20171105/include/imapproxy.h:266: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 username[MAXUSERNAMELEN]; /* username connected on this sd */ data/up-imapproxy-1.2.8~svn20171105/include/imapproxy.h:267: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 hashedpw[16]; /* md5 hash copy of password */ data/up-imapproxy-1.2.8~svn20171105/src/config.c:129: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 Keyword[MAX_KEYWORD_LEN]; /* The configuration keyword */ data/up-imapproxy-1.2.8~svn20171105/src/config.c:194:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( *SavedString, String, Size ); data/up-imapproxy-1.2.8~svn20171105/src/config.c:230: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). *Value = atoi( (const char *)StringValue ); data/up-imapproxy-1.2.8~svn20171105/src/config.c:356: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 Buffer[1024]; data/up-imapproxy-1.2.8~svn20171105/src/config.c:481:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FP = fopen( ConfigFile, "r" ); data/up-imapproxy-1.2.8~svn20171105/src/config.c:555:32: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. if ( ! strcasecmp( (const char *)Keyword, ConfigTable[i].Keyword ) ) data/up-imapproxy-1.2.8~svn20171105/src/hash.c:67: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 Hash_Buffer[1024]; data/up-imapproxy-1.2.8~svn20171105/src/hash.c:78:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( Hash_Buffer, Input_Key, Size ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:198:12: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char errbuf[32]; data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:374: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:539: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:541: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 EncodedAuthBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:542: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 AuthBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:546:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char md5pw[MD5_DIGEST_LENGTH]; data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:972:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( AuthBuf, ptr_username, username_size ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1237:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( ICC_Active->hashedpw, md5pw, sizeof ICC_Active->hashedpw ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1317: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/logging.c:59: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 FacilityString[ MAX_FACILITY_STRINGLEN ]; data/up-imapproxy-1.2.8~svn20171105/src/logging.c:65: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 PriorityString[ MAX_PRIORITY_STRINGLEN ]; data/up-imapproxy-1.2.8~svn20171105/src/main.c:241:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Banner[BUFSIZE]; /* banner line returned from IMAP svr */ data/up-imapproxy-1.2.8~svn20171105/src/main.c:243:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Capability[BUFSIZE]; /* IMAP capability line from server */ data/up-imapproxy-1.2.8~svn20171105/src/main.c:252:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char TraceUser[MAXUSERNAMELEN]; /* username we want to trace */ data/up-imapproxy-1.2.8~svn20171105/src/main.c:287: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 f_randfile[ PATH_MAX ]; data/up-imapproxy-1.2.8~svn20171105/src/main.c:303: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 ConfigFile[ MAXPATHLEN ]; /* path to our config file */ data/up-imapproxy-1.2.8~svn20171105/src/main.c:304: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 PidFile[ MAXPATHLEN ]; /* path to our pidfile */ data/up-imapproxy-1.2.8~svn20171105/src/main.c:625:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( &srvaddr, ai->ai_addr, ai->ai_addrlen ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:648:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( PC_Struct.stat_filename, O_RDWR | O_CREAT, S_IREAD | S_IWRITE ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:829:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). Tracefd = open( PC_Struct.protocol_log_filename, data/up-imapproxy-1.2.8~svn20171105/src/main.c:1040:11: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ( (fp=fopen(pidfile,"wt")) == NULL ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1059:9: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if( (i=open("/dev/null",O_RDWR)) < 0 ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1165:6: [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( DestBuf, " XIMAPPROXY]" ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1272:2: [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( DestBuf, " XIMAPPROXY" ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1275:5: [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( DestBuf, "\r\n" ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1561: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 buf[256]; data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:145: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 ccc[DIGITS+1]; /* current client conns */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:146: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 pcc[DIGITS+1]; /* peak client conns */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:147: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 asc[DIGITS+1]; /* active server conns */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:148: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 psc[DIGITS+1]; /* peak server conns */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:149: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 rsc[DIGITS+1]; /* retained (cached) server conns */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:150: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 prsc[DIGITS+1]; /* peak retained (cached) server conns */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:151: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 tcca[DIGITS+1]; /* total client connections accepted */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:152: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 tcl[DIGITS+1]; /* total client logins */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:153: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 tscc[DIGITS+1]; /* total server conns created */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:154: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 tscr[DIGITS+1]; /* total server conns reused */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:155: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 ssrr[DIGITS+4]; /* server socket reuse ration */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:156: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 tsch[DIGITS+1]; /* total select cache hits */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:157: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 tscm[DIGITS+1]; /* total select cache misses */ data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:159: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 stimebuf[64]; data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:160: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 ctimebuf[64]; data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:164: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 ConfigFile[ MAXPATHLEN ]; data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:209:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( PC_Struct.stat_filename, O_RDONLY ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:164:8: [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. extern char Banner[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:166:8: [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. extern char Capability[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:172:8: [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. extern char TraceUser[MAXUSERNAMELEN]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:215: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:303: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:362: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:432: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:486: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:587: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:620: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:654: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:694: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:695: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 Username[MAXUSERNAMELEN]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:696: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 EncodedUsername[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:697: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 Password[MAXPASSWDLEN]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:698: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 EncodedPassword[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:702: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 fullServerResponse[BUFSIZE] = "\0\0\0"; data/up-imapproxy-1.2.8~svn20171105/src/request.c:706: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 hostaddr[INET6_ADDRSTRLEN], portstr[NI_MAXSERV]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:766:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (void *)EncodedUsername, (const void *)Client->ReadBuf, data/up-imapproxy-1.2.8~svn20171105/src/request.c:809:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (void *)EncodedPassword, (const void *)Client->ReadBuf, data/up-imapproxy-1.2.8~svn20171105/src/request.c:879:2: [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( SendBuf, "* OK [XPROXYREUSE] IMAP connection reused by imapproxy\r\n" ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:975: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:980: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 fullServerResponse[BUFSIZE] = "\0\0\0"; data/up-imapproxy-1.2.8~svn20171105/src/request.c:983: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 hostaddr[INET6_ADDRSTRLEN], portstr[NI_MAXSERV]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:1050:2: [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( SendBuf, "* OK [XPROXYREUSE] IMAP connection reused by imapproxy\r\n" ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1148: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 TraceBuf[ BUFSIZE ]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:1149: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 SendBuf[ BUFSIZE ]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:1608: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 SendBuf[BUFSIZE]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:1609: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 S_QueuedPreauthCommand[BUFSIZE] = ""; data/up-imapproxy-1.2.8~svn20171105/src/request.c:1613: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 S_UserName[MAXUSERNAMELEN]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:1614: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 S_Tag[MAXTAGLEN]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:1615: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 S_Password[MAXPASSWDLEN]; data/up-imapproxy-1.2.8~svn20171105/src/request.c:2029: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( SendBuf, "+ go ahead\r\n" ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:2055:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy ( (void *)CP, (const void *)Client.ReadBuf, BytesRead ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:2108: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( SendBuf, "+ go ahead\r\n" ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:2134:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy ( (void *)CP, (const void *)Client.ReadBuf, BytesRead ); data/up-imapproxy-1.2.8~svn20171105/src/select.c:124: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 Buf[ BUFSIZE ]; data/up-imapproxy-1.2.8~svn20171105/src/select.c:139:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( Buf, SelectCmd, SelectCmdLength ); data/up-imapproxy-1.2.8~svn20171105/src/select.c:328: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 SendBuf[ BUFSIZE ]; data/up-imapproxy-1.2.8~svn20171105/src/select.c:433:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (void *)BufPtr, (const void *)Server->ReadBuf, rc ); data/up-imapproxy-1.2.8~svn20171105/src/config.c:140:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( ConfigTable[ INDEX ].Keyword, KEYWORD, MAX_KEYWORD_LEN -1 ); \ data/up-imapproxy-1.2.8~svn20171105/src/config.c:174: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). Size = strlen( String ) + 1; data/up-imapproxy-1.2.8~svn20171105/src/config.c:513: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( Buffer ) ) data/up-imapproxy-1.2.8~svn20171105/src/config.c:538:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). Value[ strlen( Value ) ] = ' '; data/up-imapproxy-1.2.8~svn20171105/src/config.c:542:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). i = strlen( Value ) - 1; data/up-imapproxy-1.2.8~svn20171105/src/config.c:550:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( i < ( strlen( Value ) - 1 ) ) data/up-imapproxy-1.2.8~svn20171105/src/hash.c:68:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). Size = strlen( Input_Key ); data/up-imapproxy-1.2.8~svn20171105/src/icc.c:142: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( "VIC20 LOGOUT\r\n" ) ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:384: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 ( IMAP_Write( Server->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:424:4: [1] (buffer) strlen: Does not handle 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( tokenptr ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:572: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). EVP_DigestUpdate(mdctx, Password, strlen(Password)); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:813: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 ( IMAP_Write( Server.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:860:62: [1] (buffer) strlen: Does not handle 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 ( memcmp( (const void *)tokenptr, (const void *)"P0001", strlen( tokenptr ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:934: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 ( *Password == '"' && *(Password + strlen( Password ) - 1) == '"' ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:935:64: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). rc = strncmp( Password + 1, PC_Struct.auth_shared_secret, strlen( Password ) - 2 ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:960: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). username_size = strlen( Username ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:998: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 ( IMAP_Write( Server.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1016: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). Username, strlen( Password ) ); data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1017: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 ( IMAP_Write( Server.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1056: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 ( IMAP_Write( Server.conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1074: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 ( IMAP_Write( Server.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1141:4: [1] (buffer) strlen: Does not handle 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( tokenptr ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1234:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( ICC_Active->username, Username, data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1325:6: [1] (buffer) strlen: Does not handle 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( queued_preauth_command ) ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1330: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 ( IMAP_Write( Server->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1379:62: [1] (buffer) strlen: Does not handle 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 ( memcmp( (const void *)tokenptr, (const void *)SendBuf, strlen( tokenptr ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/imapcommon.c:1621:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read( ICD->sd, buf, count ); data/up-imapproxy-1.2.8~svn20171105/src/logging.c:83:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( SyslogFacilityTable[ INDEX ].FacilityString, #FACILITY, MAX_FACILITY_STRINGLEN - 1 ); \ data/up-imapproxy-1.2.8~svn20171105/src/logging.c:98:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( SyslogPriorityTable[ INDEX ].PriorityString, #PRIORITY, MAX_PRIORITY_STRINGLEN - 1 ); \ data/up-imapproxy-1.2.8~svn20171105/src/main.c:316:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( PidFile, DEFAULT_PID_FILE, sizeof PidFile -1 ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:332:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( ConfigFile, optarg, sizeof ConfigFile -1 ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:340:13: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( PidFile, optarg, sizeof PidFile -1 ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:363:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( ConfigFile, DEFAULT_CONFIG_FILE, sizeof ConfigFile -1 ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1180: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). !strncasecmp( CP, "CAPABILITY", strlen( "CAPABILITY" ) ) ) || data/up-imapproxy-1.2.8~svn20171105/src/main.c:1182: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). !strncasecmp( CP, "[CAPABILITY", strlen( "[CAPABILITY" ) ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1197:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). CPlen = strlen( CP ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1207: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 ( !strncasecmp( CP, "UNSELECT", strlen( "UNSELECT" ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1216: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 ( ! strncasecmp( CP, "AUTH=", strlen( "AUTH=" ) ) && data/up-imapproxy-1.2.8~svn20171105/src/main.c:1217:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ( strncasecmp( CP, "AUTH=LOGIN", strlen( "AUTH=LOGIN" ) ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1226: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 ( ! strncasecmp( CP, "SASL-IR", strlen( "SASL-IR" ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1235: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 ( ! strncasecmp( CP, "IDLE", strlen( "IDLE" ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1244: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 ( ! strncasecmp( CP, "STARTTLS", strlen( "STARTTLS" ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1255:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( ! strncasecmp( CP, "LOGINDISABLED", strlen( "LOGINDISABLED" ) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1262:2: [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( DestBuf, " "); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1277: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). return( strlen( DestBuf ) ); data/up-imapproxy-1.2.8~svn20171105/src/main.c:1366:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strncasecmp( Banner, IMAP_UNTAGGED_OK, strlen(IMAP_UNTAGGED_OK)) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1375: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). if ( IMAP_Write( itd.conn, "1 CAPABILITY\r\n", strlen("1 CAPABILITY\r\n") ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1427: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). if ( strncasecmp( itd.ReadBuf, IMAP_TAGGED_OK, strlen(IMAP_TAGGED_OK) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1456:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( IMAP_Write( itd.conn, "1 CAPABILITY\r\n", strlen("1 CAPABILITY\r\n") ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1507:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( strncasecmp( itd.ReadBuf, IMAP_TAGGED_OK, strlen(IMAP_TAGGED_OK) ) ) data/up-imapproxy-1.2.8~svn20171105/src/main.c:1532: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). if ( IMAP_Write( itd.conn, "2 LOGOUT\r\n", strlen("2 LOGOUT\r\n") ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:180:13: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( ConfigFile, optarg, sizeof ConfigFile -1 ); data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:204:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( ConfigFile, DEFAULT_CONFIG_FILE, sizeof ConfigFile -1 ); data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:296:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( stimebuf, ctime( &IMAPCount->StartTime ), data/up-imapproxy-1.2.8~svn20171105/src/pimpstat.c:298:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( ctimebuf, ctime( &IMAPCount->CountTime ), data/up-imapproxy-1.2.8~svn20171105/src/request.c:224: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 ( IMAP_Write( itd->conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:240: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:259: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:270: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:311: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 ( IMAP_Write( itd->conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:334: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:372: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 ( IMAP_Write( itd->conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:391:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:404: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:440: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 ( IMAP_Write( itd->conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:449: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:456: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:494: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 ( IMAP_Write( itd->conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:518: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). write( Tracefd, SendBuf, strlen( SendBuf ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:522: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:538: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:550:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( TraceUser, Username, sizeof TraceUser - 1 ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:555: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:563: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). write( Tracefd, SendBuf, strlen( SendBuf ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:593: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:627: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:660: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 ( IMAP_Write( itd->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:720:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). EVP_EncodeBlock( EncodedUsername, Username, strlen( Username ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:724: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 ( IMAP_Write( Client->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:777:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). EVP_EncodeBlock( EncodedPassword, Password, strlen( Password ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:781: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 ( IMAP_Write( Client->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:863: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 ( IMAP_Write( Client->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:880: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 ( IMAP_Write( Client->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:894: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 ( IMAP_Write( Client->conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1034: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 ( IMAP_Write( Client->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1051: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 ( IMAP_Write( Client->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.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 ( IMAP_Write( Client->conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1293: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). write( Tracefd, TraceBuf, strlen( TraceBuf ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1339: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). write( Tracefd, TraceBuf, strlen( TraceBuf ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1369:6: [1] (buffer) strlen: Does not handle 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(SendBuf) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1501: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). write( Tracefd, TraceBuf, strlen( TraceBuf ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1536: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). write( Tracefd, TraceBuf, strlen( TraceBuf ) ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1733: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1748: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1761:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( S_Tag, Tag, MAXTAGLEN - 1 ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1829: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1851:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( S_Tag, Tag, MAXTAGLEN - 1 ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1868: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1882: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1979: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:1987:6: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( S_UserName, Username, sizeof S_UserName - 1 ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:1998: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). && S_UserName[ 0 ] == '{' && S_UserName[ strlen( S_UserName ) - 1 ] == '}' ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2016: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2030: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2046:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2093: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2109: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2125:43: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2170: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/request.c:2180:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( S_Password, Lasts, sizeof S_Password - 1 ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:2212:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( S_Tag, Tag, MAXTAGLEN - 1 ); data/up-imapproxy-1.2.8~svn20171105/src/request.c:2242: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 ( IMAP_Write( Client.conn, SendBuf, strlen(SendBuf) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/select.c:170:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ( strlen( Tag ) + 1 ) ); data/up-imapproxy-1.2.8~svn20171105/src/select.c:178: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 ( IMAP_Write( Client->conn, Buf, strlen( Buf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/select.c:217: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 ( IMAP_Write( Client->conn, Buf, strlen( Buf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/select.c:251: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 ( IMAP_Write( Client->conn, Buf, strlen( Buf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/select.c:287: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 ( IMAP_Write( Client->conn, Buf, strlen( Buf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/select.c:331:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen( ISC->SelectString ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/select.c:340: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 ( IMAP_Write( Client->conn, SendBuf, strlen( SendBuf ) ) == -1 ) data/up-imapproxy-1.2.8~svn20171105/src/select.c:473:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( (char *)ISC->MailboxName, (const char *)MailboxName, MAXMAILBOXNAME - 1 ); data/up-imapproxy-1.2.8~svn20171105/src/select.c:542:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen( SafeCommands[i] ) ) ) ANALYSIS SUMMARY: Hits = 226 Lines analyzed = 9121 in approximately 0.28 seconds (32005 lines/second) Physical Source Lines of Code (SLOC) = 4608 Hits@level = [0] 377 [1] 121 [2] 97 [3] 3 [4] 3 [5] 2 Hits@level+ = [0+] 603 [1+] 226 [2+] 105 [3+] 8 [4+] 5 [5+] 2 Hits/KSLOC@level+ = [0+] 130.859 [1+] 49.0451 [2+] 22.7865 [3+] 1.73611 [4+] 1.08507 [5+] 0.434028 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.