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/starvoyager-0.4.4/SDL_gfxPrimitives.c Examining data/starvoyager-0.4.4/SDL_gfxPrimitives.h Examining data/starvoyager-0.4.4/SDL_rotozoom.c Examining data/starvoyager-0.4.4/SDL_rotozoom.h Examining data/starvoyager-0.4.4/alliance.cc Examining data/starvoyager-0.4.4/alliance.h Examining data/starvoyager-0.4.4/calc.cc Examining data/starvoyager-0.4.4/calc.h Examining data/starvoyager-0.4.4/camera.cc Examining data/starvoyager-0.4.4/camera.h Examining data/starvoyager-0.4.4/client.cc Examining data/starvoyager-0.4.4/client.h Examining data/starvoyager-0.4.4/constants.h Examining data/starvoyager-0.4.4/database.cc Examining data/starvoyager-0.4.4/database.h Examining data/starvoyager-0.4.4/equip.cc Examining data/starvoyager-0.4.4/equip.h Examining data/starvoyager-0.4.4/error.cc Examining data/starvoyager-0.4.4/error.h Examining data/starvoyager-0.4.4/frag.cc Examining data/starvoyager-0.4.4/frag.h Examining data/starvoyager-0.4.4/game.cc Examining data/starvoyager-0.4.4/game.h Examining data/starvoyager-0.4.4/graphic.cc Examining data/starvoyager-0.4.4/interface.cc Examining data/starvoyager-0.4.4/interface.h Examining data/starvoyager-0.4.4/mission.h Examining data/starvoyager-0.4.4/os.cc Examining data/starvoyager-0.4.4/os.h Examining data/starvoyager-0.4.4/planet.cc Examining data/starvoyager-0.4.4/planet.h Examining data/starvoyager-0.4.4/player.cc Examining data/starvoyager-0.4.4/player.h Examining data/starvoyager-0.4.4/presence.cc Examining data/starvoyager-0.4.4/presence.h Examining data/starvoyager-0.4.4/protocol.h Examining data/starvoyager-0.4.4/server.cc Examining data/starvoyager-0.4.4/server.h Examining data/starvoyager-0.4.4/settings.cc Examining data/starvoyager-0.4.4/settings.h Examining data/starvoyager-0.4.4/ship.h Examining data/starvoyager-0.4.4/sockhelper.cc Examining data/starvoyager-0.4.4/sockhelper.h Examining data/starvoyager-0.4.4/sound.cc Examining data/starvoyager-0.4.4/sv.cc Examining data/starvoyager-0.4.4/ticker.cc Examining data/starvoyager-0.4.4/ticker.h Examining data/starvoyager-0.4.4/graphic.h Examining data/starvoyager-0.4.4/sound.h Examining data/starvoyager-0.4.4/ship.cc FINAL RESULTS: data/starvoyager-0.4.4/alliance.cc:169:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(pnam,"%s",snam); data/starvoyager-0.4.4/alliance.cc:181:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(pnam,"%s %hd",snam,j); data/starvoyager-0.4.4/database.cc:68:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(onam,"%s",tmp+1); data/starvoyager-0.4.4/database.cc:178:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(srch,"\n%s =",key); data/starvoyager-0.4.4/database.cc:182:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(srch,"\n%s=",key); data/starvoyager-0.4.4/database.cc:247:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(bcks[hash]->nam,"%s",nam); data/starvoyager-0.4.4/error.cc:18: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(this->str,str); data/starvoyager-0.4.4/graphic.cc:65:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/gfx/font.bmp",DATADIR); data/starvoyager-0.4.4/graphic.cc:76:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/gfx/haze.bmp",DATADIR); data/starvoyager-0.4.4/graphic.cc:344:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/gfx/%i.bmp",DATADIR,self); data/starvoyager-0.4.4/interface.cc:113:2: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf(cons,fmt,fmts); data/starvoyager-0.4.4/interface.cc:143:3: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf(txt,fmt,fmts); data/starvoyager-0.4.4/interface.cc:146:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(mesg[7],txt); data/starvoyager-0.4.4/interface.cc:240:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(put,edit); data/starvoyager-0.4.4/os.cc:54:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/.starvoyager",me->pw_dir); data/starvoyager-0.4.4/os.cc:60:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/.starvoyager/%s",me->pw_dir,fnam); data/starvoyager-0.4.4/os.cc:63:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s",fnam); data/starvoyager-0.4.4/os.cc:80:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(tbuf,"%s",ctime(&tst)); data/starvoyager-0.4.4/planet.cc:34:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(this->nam,"%s",nam); data/starvoyager-0.4.4/planet.cc:179:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(put,"%s%s%s",n1[s1],n2[s2],n3[s3]); data/starvoyager-0.4.4/planet.cc:207:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"%s\n",nam); data/starvoyager-0.4.4/planet.cc:209:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Alignment:%s [hostile]\n",all->nam); data/starvoyager-0.4.4/planet.cc:211:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Alignment:%s\n",all->nam); data/starvoyager-0.4.4/planet.cc:256:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Hailing %s\n\nServices\n\n",nam); data/starvoyager-0.4.4/planet.cc:313:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Hailing %s\n\nEquipment\n\n",nam); data/starvoyager-0.4.4/planet.cc:319:11: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"[%hd] %s \nCost: %ld C Mass: %hd\n",i+1,sold[i]->nam,cost,sold[i]->mss); data/starvoyager-0.4.4/planet.cc:330:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"%s purchased and installed",sold[opr-1]->nam); data/starvoyager-0.4.4/planet.cc:359:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf((char*)buf,"%s",nam); data/starvoyager-0.4.4/planet.cc:361:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf((char*)buf,"%s",all->nam); data/starvoyager-0.4.4/player.cc:39:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(this->nam,"%s",nam); data/starvoyager-0.4.4/player.cc:198:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(this->pass,"%s",pass); data/starvoyager-0.4.4/server.cc:157:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(txt,"%s: %s",frnm,msg); data/starvoyager-0.4.4/server.cc:160:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(txt,"%s",msg); data/starvoyager-0.4.4/server.cc:187:3: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf(buf,fmt,fmts); data/starvoyager-0.4.4/server.cc:317:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(logf,fmt,fmts); data/starvoyager-0.4.4/server.cc:570:11: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txtp+=sprintf(txtp,"[%hd] %s\n",i,tali->nam); data/starvoyager-0.4.4/server.cc:925:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(tpas,inpb); data/starvoyager-0.4.4/server.cc:1013:2: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf((char*)buf+3,fmt,fmts); data/starvoyager-0.4.4/server.cc:1042:3: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf((char*)buf+3,fmt,fmts); data/starvoyager-0.4.4/ship.cc:538:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"%s\n",cls); data/starvoyager-0.4.4/ship.cc:540:11: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Alignment:%s [hostile]\n",all->nam); data/starvoyager-0.4.4/ship.cc:542:11: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Alignment:%s\n",all->nam); data/starvoyager-0.4.4/ship.cc:544:11: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Commanded by %s\n",ply->nam); data/starvoyager-0.4.4/ship.cc:550:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Maximum velocity: %s\n",spd); data/starvoyager-0.4.4/ship.cc:612:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,">%s [%ld]<\n",slots[i].item->nam,slots[i].cap); data/starvoyager-0.4.4/ship.cc:614:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt," %s [%ld]\n",slots[i].item->nam,slots[i].cap); data/starvoyager-0.4.4/ship.cc:617:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,">%s< [empty]\n",slots[i].item->nam); data/starvoyager-0.4.4/ship.cc:619:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt," %s [empty]\n",slots[i].item->nam); data/starvoyager-0.4.4/ship.cc:622:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,">%s<\n",slots[i].item->nam); data/starvoyager-0.4.4/ship.cc:624:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt," %s\n",slots[i].item->nam); data/starvoyager-0.4.4/ship.cc:678:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(txt,"%s jettisoned",slots[esel].item->nam); data/starvoyager-0.4.4/ship.cc:751:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Player: %s\n",ply->nam); data/starvoyager-0.4.4/ship.cc:752:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. txt+=sprintf(txt,"Alliance: %s\n",all->nam); data/starvoyager-0.4.4/ship.cc:874:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf((char*)buf,"%s",cls); data/starvoyager-0.4.4/ship.cc:876:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf((char*)buf,"%s",all->nam); data/starvoyager-0.4.4/sound.cc:132:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/snd/%i.wav",DATADIR,self); data/starvoyager-0.4.4/sv.cc:94:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/ships.svd",DATADIR); data/starvoyager-0.4.4/sv.cc:96:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/equip.svd",DATADIR); data/starvoyager-0.4.4/sv.cc:98:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/alliances.svd",DATADIR); data/starvoyager-0.4.4/calc.cc:24:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(os::getseed()); data/starvoyager-0.4.4/alliance.cc:27: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 nam[12]; //Object name to get data/starvoyager-0.4.4/alliance.cc:31:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(nam,"Alliance%hd",i); data/starvoyager-0.4.4/alliance.cc:153: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 snam[65]; //Name of system data/starvoyager-0.4.4/alliance.cc:154: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 pnam[65]; //Name of planet data/starvoyager-0.4.4/alliance.cc:199: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 atsc[33]; //Attribute scratchpad data/starvoyager-0.4.4/alliance.cc:210:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"ShipQuota%hd",i); data/starvoyager-0.4.4/alliance.cc:215:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"AIQuota%hd",i); data/starvoyager-0.4.4/alliance.cc:220:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Equipment%hd",i); data/starvoyager-0.4.4/alliance.h:32: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 nam[65]; //Name data/starvoyager-0.4.4/calc.cc:49: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(put,"0.0%ld c",spd); data/starvoyager-0.4.4/calc.cc:51: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(put,"0.%ld c",spd); data/starvoyager-0.4.4/calc.cc:53:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(put,"Warp %hd",j); data/starvoyager-0.4.4/calc.h:233:16: [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 spds[33]; //Speed string (saves having to malloc, but it ain't threadsafe!) data/starvoyager-0.4.4/camera.cc:166: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 txt[33]; //For rendering distance on the pointer data/starvoyager-0.4.4/camera.cc:199: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(txt,"%ld",(long)pptr.rad/100); data/starvoyager-0.4.4/camera.cc:269: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 txt[33]; //For rendering co-ordinates on radar data/starvoyager-0.4.4/camera.cc:379: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(txt,"%ld , %ld",(long)pov.x/100,(long)pov.y/100); data/starvoyager-0.4.4/client.cc:72:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char txt[1025]; //Text to print to console data/starvoyager-0.4.4/client.cc:207: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(txt,buf+3,len); data/starvoyager-0.4.4/client.cc:244: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(txt,buf+3,len); data/starvoyager-0.4.4/client.cc:288: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. unsigned char buf[3]; //Outgoing buffer data/starvoyager-0.4.4/client.cc:301: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 txt[65]; //Readline text data/starvoyager-0.4.4/database.cc:29: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 onam[65]; //Object name found data/starvoyager-0.4.4/database.cc:31:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp[2049]; //Temporary reading buffer data/starvoyager-0.4.4/database.cc:167: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 srch[68]; //Key statement to search for data/starvoyager-0.4.4/database.cc:208: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 val[65]; //String representation data/starvoyager-0.4.4/equip.cc:20: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 nam[16]; //Object name to load equipment data from data/starvoyager-0.4.4/equip.cc:24:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(nam,"Equipment%hd",i); data/starvoyager-0.4.4/equip.h:20: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 nam[65]; //Name data/starvoyager-0.4.4/error.h:16:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char str[129]; //Error string data/starvoyager-0.4.4/frag.cc:94: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 obsc[33]; //Object name scratchpad data/starvoyager-0.4.4/frag.cc:98:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(obsc,"Frag%hd",i); data/starvoyager-0.4.4/frag.cc:176: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 obsc[16]; //Object name scratchpad data/starvoyager-0.4.4/frag.cc:179: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(obsc,"Frag%hd",self); data/starvoyager-0.4.4/interface.cc:127: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 txt[1024]; //Temporary text buffer data/starvoyager-0.4.4/interface.cc:168: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 line[256]; //Line of console for scratchpad operations data/starvoyager-0.4.4/interface.cc:194:4: [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(line,p1,p2-p1+1); data/starvoyager-0.4.4/interface.h:36:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char edit[65]; //Editing buffer data/starvoyager-0.4.4/os.cc:66:6: [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). out=fopen(path,flag); data/starvoyager-0.4.4/os.h:21:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char tbuf[256]; //Time string buffer data/starvoyager-0.4.4/planet.cc:142: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 obsc[33]; //Object name scratchpad data/starvoyager-0.4.4/planet.cc:148: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(obsc,"Planet%hd",i); data/starvoyager-0.4.4/planet.cc:215: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. txt+=sprintf(txt,"Star\n"); data/starvoyager-0.4.4/planet.cc:219: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. txt+=sprintf(txt,"Uninhabited planet\n"); data/starvoyager-0.4.4/planet.cc:223: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. txt+=sprintf(txt,"Inhabited planet\n"); data/starvoyager-0.4.4/planet.cc:226:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"\n[1] Lay in a course\n"); data/starvoyager-0.4.4/planet.cc:245: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. txt+=sprintf(txt,"No response"); data/starvoyager-0.4.4/planet.cc:251:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"Out of range"); data/starvoyager-0.4.4/planet.cc:259: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. txt+=sprintf(txt,"[1] Refuel\nCost: %ld C\n",cost); data/starvoyager-0.4.4/planet.cc:262: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. txt+=sprintf(txt,"[2] Repair hull\nCost: %ld C\n",cost); data/starvoyager-0.4.4/planet.cc:265: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. txt+=sprintf(txt,"[3] Rearm one magazine\nCost: %ld C\n",cost); data/starvoyager-0.4.4/planet.cc:266:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"[4] Purchase equipment\n"); data/starvoyager-0.4.4/planet.cc:267:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"[5] Save location"); data/starvoyager-0.4.4/planet.cc:300: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. txt+=sprintf(txt,"No response"); data/starvoyager-0.4.4/planet.cc:308:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"Out of range"); data/starvoyager-0.4.4/planet.cc:322:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"\nAvailable mass: %hd\n",mshp->freemass()); data/starvoyager-0.4.4/planet.cc:386: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 obsc[16]; //Object name scratchpad data/starvoyager-0.4.4/planet.cc:391: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(obsc,"Planet%hd",self); data/starvoyager-0.4.4/planet.cc:400: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 atsc[33]; //Attribute scratchpad data/starvoyager-0.4.4/planet.cc:413:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Sold%hd",i); data/starvoyager-0.4.4/planet.cc:423: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 atsc[33]; //Attribute scratchpad data/starvoyager-0.4.4/planet.cc:434:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Sold%hd",i); data/starvoyager-0.4.4/planet.h:55: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 nam[65]; //Name data/starvoyager-0.4.4/player.cc:81: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 obsc[33]; //Object name scratchpad data/starvoyager-0.4.4/player.cc:87: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(obsc,"Account%hd",i); data/starvoyager-0.4.4/player.cc:96: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 obsc[33]; //Object name scratchpad data/starvoyager-0.4.4/player.cc:102: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(obsc,"Account%hd",i); data/starvoyager-0.4.4/player.h:37: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 nam[33]; //Name of player data/starvoyager-0.4.4/player.h:46: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 pass[33]; //Login password data/starvoyager-0.4.4/presence.cc:432: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(nam,buf,64); data/starvoyager-0.4.4/presence.cc:436: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(anno,buf,64); data/starvoyager-0.4.4/presence.h:37: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 nam[65]; //Name of object data/starvoyager-0.4.4/presence.h:38: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 anno[65]; //Annotative data, e.g. alliance data/starvoyager-0.4.4/server.cc:142: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 txt[256]; //Communications text data/starvoyager-0.4.4/server.cc:181: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 buf[132]; //Outgoing buffer data/starvoyager-0.4.4/server.cc:201: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. unsigned char buf[SERV_NOISE_SZ]; //Buffer for sending sound data/starvoyager-0.4.4/server.cc:218: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. unsigned char buf[SERV_SND_SZ]; //Buffer for sending sound data/starvoyager-0.4.4/server.cc:235: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. unsigned char buf[SERV_SHAKE_SZ]; //Buffer for sending shake data/starvoyager-0.4.4/server.cc:328: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. unsigned char fldb[SERV_FLOOD_SZ]; //Flooding buffer data/starvoyager-0.4.4/server.cc:540: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 txt[1024]; //Text buffer for constructing output data/starvoyager-0.4.4/server.cc:565:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txtp+=sprintf(txtp,"Choose alliance\n"); data/starvoyager-0.4.4/server.cc:636:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txtp+=sprintf(txtp,"Messaging\n\n"); data/starvoyager-0.4.4/server.cc:638: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. txtp+=sprintf(txtp,"[1] Chat with target player\n"); data/starvoyager-0.4.4/server.cc:639:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txtp+=sprintf(txtp,"[2] Chat with team\n"); data/starvoyager-0.4.4/server.cc:640:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txtp+=sprintf(txtp,"[3] Chat with all\n"); data/starvoyager-0.4.4/server.cc:660:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txtp+=sprintf(txtp,"WHOIS\n\n"); data/starvoyager-0.4.4/server.cc:667: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. txtp+=sprintf(txtp,"No target\n"); data/starvoyager-0.4.4/server.cc:668:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txtp+=sprintf(txtp,"\n[1] Cycle to next player"); data/starvoyager-0.4.4/server.cc:709: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 txt[1024]; //Text buffer for constructing output data/starvoyager-0.4.4/server.cc:853: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. unsigned char buf[SERV_READLN_SZ]; //For sending the request byte data/starvoyager-0.4.4/server.cc:1009: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. unsigned char buf[1028]; //Outgoing buffer data/starvoyager-0.4.4/server.cc:1024: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. unsigned char buf[SERV_CSPR_SZ]; //Outgoing buffer data/starvoyager-0.4.4/server.cc:1036: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. unsigned char buf[132]; //Outgoing buffer data/starvoyager-0.4.4/server.cc:1054: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. unsigned char buf[256]; //Buffer for outgoing data data/starvoyager-0.4.4/server.cc:1086: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. unsigned char buf[256]; //Outgoing scratchpad buffer to use data/starvoyager-0.4.4/server.cc:1133: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. unsigned char buf[256]; //Outgoing scratchpad buffer to use data/starvoyager-0.4.4/server.cc:1185: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. unsigned char buf[256]; //Outgoing scratchpad buffer to use data/starvoyager-0.4.4/server.cc:1235: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. unsigned char buf[SERV_DEL_SZ]; //Buffer for deleting player's ship clientside data/starvoyager-0.4.4/server.cc:1255: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. unsigned char buf[SERV_HILIGHT_SZ]; //Buffer for sending hilight information data/starvoyager-0.4.4/server.h:69: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 inpb[65]; //Incoming text input buffer data/starvoyager-0.4.4/server.h:70: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 tpas[33]; //Temporary password store, for double confirmation data/starvoyager-0.4.4/ship.cc:79: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 obnm[33]; //Object name data/starvoyager-0.4.4/ship.cc:88:5: [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(obnm,"ShipLib%hd",i); data/starvoyager-0.4.4/ship.cc:144: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 obsc[16]; //Object name scratchpad data/starvoyager-0.4.4/ship.cc:150: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(obsc,"Ship%hd",i); data/starvoyager-0.4.4/ship.cc:159: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 obsc[16]; //Object name scratchpad data/starvoyager-0.4.4/ship.cc:177:5: [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(obsc,"Ship%hd",i); data/starvoyager-0.4.4/ship.cc:526: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 spd[32]; //Speed data/starvoyager-0.4.4/ship.cc:546:11: [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. txt+=sprintf(txt,"\nShields: Raised\n"); data/starvoyager-0.4.4/ship.cc:548:11: [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. txt+=sprintf(txt,"\nShields: Down\n"); data/starvoyager-0.4.4/ship.cc:552:11: [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. txt+=sprintf(txt,"Shield capability: %ld\n",shd->item->cap); data/starvoyager-0.4.4/ship.cc:554:11: [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. txt+=sprintf(txt,"No shields"); data/starvoyager-0.4.4/ship.cc:556:11: [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. txt+=sprintf(txt,"Maximum power capacity: %ld\n",pow->item->cap); data/starvoyager-0.4.4/ship.cc:558:11: [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. txt+=sprintf(txt,"No power plant"); data/starvoyager-0.4.4/ship.cc:560:11: [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. txt+=sprintf(txt,"Maximum fuel storage: %ld\n",ful->item->cap); data/starvoyager-0.4.4/ship.cc:562:11: [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. txt+=sprintf(txt,"No fuel storage"); data/starvoyager-0.4.4/ship.cc:564: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. txt+=sprintf(txt,"\nAvailable mass: %hd\n",freemass()); data/starvoyager-0.4.4/ship.cc:569:11: [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. txt+=sprintf(txt,"\nCredits: %ld\n",ply->cashi); data/starvoyager-0.4.4/ship.cc:572:11: [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. txt+=sprintf(txt,"\n[1] Lay in an intercept course\n"); data/starvoyager-0.4.4/ship.cc:577: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. txt+=sprintf(txt,"Target not visible\n"); data/starvoyager-0.4.4/ship.cc:579:11: [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. txt+=sprintf(txt,"\n[1] Lay in an intercept course\n"); data/starvoyager-0.4.4/ship.cc:605:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"Internal systems\n\n"); data/starvoyager-0.4.4/ship.cc:631:13: [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. txt+=sprintf(txt," <Free forward port>\n"); data/starvoyager-0.4.4/ship.cc:633:13: [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. txt+=sprintf(txt," <Free rear port>\n"); data/starvoyager-0.4.4/ship.cc:639: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. txt+=sprintf(txt,"[1] Toggle shields\n"); data/starvoyager-0.4.4/ship.cc:641: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. txt+=sprintf(txt,"[2] Toggle cloak\n"); data/starvoyager-0.4.4/ship.cc:642:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"\n[3] Select equipment\n"); data/starvoyager-0.4.4/ship.cc:643:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"[4] Jettison selection\n"); data/starvoyager-0.4.4/ship.cc:674:6: [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(txt,"Cannot jettison transporters"); data/starvoyager-0.4.4/ship.cc:693: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. txt+=sprintf(txt,"Hailing ship\n\n"); data/starvoyager-0.4.4/ship.cc:694: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. txt+=sprintf(txt,"Vessel is disabled\n\n[1] Attempt to recover it"); data/starvoyager-0.4.4/ship.cc:705: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. txt+=sprintf(txt,"Vessel successfully acquired"); data/starvoyager-0.4.4/ship.cc:715:11: [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. txt+=sprintf(txt,"Hailing ship\n\n"); data/starvoyager-0.4.4/ship.cc:716:11: [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. txt+=sprintf(txt,"Vessel is under your command\n\n[1] Transfer to this vessel"); data/starvoyager-0.4.4/ship.cc:724:12: [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. txt+=sprintf(txt,"Transfer of command successful"); data/starvoyager-0.4.4/ship.cc:742: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. txt+=sprintf(txt,"Hailing ship\n\n"); data/starvoyager-0.4.4/ship.cc:743: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. txt+=sprintf(txt,"No reply"); data/starvoyager-0.4.4/ship.cc:756:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. txt+=sprintf(txt,"Target not player controlled\n"); data/starvoyager-0.4.4/ship.cc:1184: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 atsc[33]; //Attribute scratchpad data/starvoyager-0.4.4/ship.cc:1224: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(atsc,"Slot%hdAngle",i); data/starvoyager-0.4.4/ship.cc:1226: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(atsc,"Slot%hdRadius",i); data/starvoyager-0.4.4/ship.cc:1228: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(atsc,"Slot%hdFace",i); data/starvoyager-0.4.4/ship.cc:1230: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(atsc,"Slot%hdItem",i); data/starvoyager-0.4.4/ship.cc:1235: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(atsc,"Slot%hdReadiness",i); data/starvoyager-0.4.4/ship.cc:1237: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(atsc,"Slot%hdCapacity",i); data/starvoyager-0.4.4/ship.cc:1245: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 atsc[33]; //Attribute scratchpad data/starvoyager-0.4.4/ship.cc:1303:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Slot%hdAngle",i); data/starvoyager-0.4.4/ship.cc:1305:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Slot%hdRadius",i); data/starvoyager-0.4.4/ship.cc:1307:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Slot%hdFace",i); data/starvoyager-0.4.4/ship.cc:1311:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Slot%hdItem",i); data/starvoyager-0.4.4/ship.cc:1313:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Slot%hdReadiness",i); data/starvoyager-0.4.4/ship.cc:1315:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(atsc,"Slot%hdCapacity",i); data/starvoyager-0.4.4/ship.cc:1372: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 obsc[16]; //Object name scratchpad data/starvoyager-0.4.4/ship.cc:1374: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(obsc,"Ship%hd",self); data/starvoyager-0.4.4/ship.h:81: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 cls[65]; //Ship class data/starvoyager-0.4.4/sockhelper.h:26: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. unsigned char in[2048]; //Input buffer data/starvoyager-0.4.4/sockhelper.h:28: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. unsigned char out[1024]; //Output buffer data/starvoyager-0.4.4/sound.cc:143: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(cvt.buf,buff,cvt.len); data/starvoyager-0.4.4/sv.cc:38: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 path[sizeof(DATADIR)+16]; //Pathnames for databases data/starvoyager-0.4.4/sv.cc:95:24: [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). database::openreader(fopen(path,"r")); data/starvoyager-0.4.4/sv.cc:97:24: [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). database::openreader(fopen(path,"r")); data/starvoyager-0.4.4/sv.cc:99:24: [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). database::openreader(fopen(path,"r")); data/starvoyager-0.4.4/sv.cc:141: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 host[65]; //Host to connect to data/starvoyager-0.4.4/calc.cc:66: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). for(int i=0,j=strlen(str);i<j;i++) data/starvoyager-0.4.4/camera.cc:382: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). graphic::string(txt,interface::radarb.x+interface::radarb.w-6*strlen(txt)-2,interface::radarb.y,false); data/starvoyager-0.4.4/client.cc:53: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). hlpr->send((unsigned char*)SIGN,strlen(SIGN)); data/starvoyager-0.4.4/database.cc:39: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). lr=fread(tmp,1,strlen(MAGIC),strm); data/starvoyager-0.4.4/database.cc:173:5: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). lk=strlen(key); data/starvoyager-0.4.4/database.cc:187: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). fnd+=strlen(srch); data/starvoyager-0.4.4/database.cc:246: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). bcks[hash]->nam=new char[strlen(nam)+1]; data/starvoyager-0.4.4/database.cc:278: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). for(int i=0,j=strlen(str);i<j;i++) data/starvoyager-0.4.4/error.cc:16:5: [1] (buffer) strlen: Does not handle 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(str)>128) data/starvoyager-0.4.4/graphic.cc:64: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). path=new char[strlen(DATADIR)+32]; data/starvoyager-0.4.4/graphic.cc:75: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). path=new char[strlen(DATADIR)+32]; data/starvoyager-0.4.4/graphic.cc:115: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). drct.w=6*strlen(str); data/starvoyager-0.4.4/graphic.cc:343: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). path=new char[strlen(DATADIR)+32]; data/starvoyager-0.4.4/interface.cc:145: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). mesg[7]=new char[strlen(txt)+1]; data/starvoyager-0.4.4/interface.cc:147:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if((int)strlen(txt)>(mesgb.w/6)) data/starvoyager-0.4.4/interface.cc:210: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). elen=strlen(edit); data/starvoyager-0.4.4/os.cc:53: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). path=new char[strlen(fnam)+strlen(me->pw_dir)+15]; data/starvoyager-0.4.4/os.cc:53: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). path=new char[strlen(fnam)+strlen(me->pw_dir)+15]; data/starvoyager-0.4.4/os.cc:62: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). path=new char[strlen(fnam)+1]; data/starvoyager-0.4.4/os.cc:81: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). tbuf[strlen(tbuf)-1]='\0'; data/starvoyager-0.4.4/server.cc:664: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). txtp=txt+strlen(txt); data/starvoyager-0.4.4/server.cc:871: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(inpb)<2) data/starvoyager-0.4.4/server.cc:1017: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). calc::inttodat(strlen((char*)buf+3),buf+1); data/starvoyager-0.4.4/server.cc:1019: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). hlpr->send(buf,strlen((char*)buf+3)+3); data/starvoyager-0.4.4/server.cc:1046: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). calc::inttodat(strlen((char*)buf+3),buf+1); data/starvoyager-0.4.4/server.cc:1048: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). hlpr->send(buf,strlen((char*)buf+3)+3); data/starvoyager-0.4.4/ship.cc:637:9: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. txt+=sprintf(txt,"\n"); data/starvoyager-0.4.4/sound.cc:131: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). path=new char[strlen(DATADIR)+32]; ANALYSIS SUMMARY: Hits = 251 Lines analyzed = 10419 in approximately 0.26 seconds (40848 lines/second) Physical Source Lines of Code (SLOC) = 8475 Hits@level = [0] 23 [1] 28 [2] 163 [3] 1 [4] 59 [5] 0 Hits@level+ = [0+] 274 [1+] 251 [2+] 223 [3+] 60 [4+] 59 [5+] 0 Hits/KSLOC@level+ = [0+] 32.3304 [1+] 29.6165 [2+] 26.3127 [3+] 7.07965 [4+] 6.96165 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.