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/powder-118+dfsg1/support/builddpdf/dpdf.cpp
Examining data/powder-118+dfsg1/support/builddpdf/dpdf.h
Examining data/powder-118+dfsg1/support/builddpdf/builddpdf.cpp
Examining data/powder-118+dfsg1/support/compendium/compendium.cpp
Examining data/powder-118+dfsg1/support/compendium/mygba.h
Examining data/powder-118+dfsg1/support/encyclopedia2c/stdafx.cpp
Examining data/powder-118+dfsg1/support/encyclopedia2c/stdafx.h
Examining data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp
Examining data/powder-118+dfsg1/support/splicebmp/stdafx.cpp
Examining data/powder-118+dfsg1/support/splicebmp/stdafx.h
Examining data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp
Examining data/powder-118+dfsg1/support/enummaker/StdAfx.h
Examining data/powder-118+dfsg1/support/enummaker/StdAfx.cpp
Examining data/powder-118+dfsg1/support/enummaker/enummaker.cpp
Examining data/powder-118+dfsg1/support/bmp2c/stdafx.cpp
Examining data/powder-118+dfsg1/support/bmp2c/stdafx.h
Examining data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp
Examining data/powder-118+dfsg1/support/map2c/stdafx.cpp
Examining data/powder-118+dfsg1/support/map2c/stdafx.h
Examining data/powder-118+dfsg1/support/map2c/map2c.cpp
Examining data/powder-118+dfsg1/support/txt2c/txt2c.cpp
Examining data/powder-118+dfsg1/support/txt2c/StdAfx.h
Examining data/powder-118+dfsg1/support/txt2c/StdAfx.cpp
Examining data/powder-118+dfsg1/support/tile2c/bmp.h
Examining data/powder-118+dfsg1/support/tile2c/tile2c.cpp
Examining data/powder-118+dfsg1/support/tile2c/bmp.cpp
Examining data/powder-118+dfsg1/queue.h
Examining data/powder-118+dfsg1/stylus.h
Examining data/powder-118+dfsg1/sramstream.cpp
Examining data/powder-118+dfsg1/grammar.h
Examining data/powder-118+dfsg1/ptrlist.cpp
Examining data/powder-118+dfsg1/thread_linux.cpp
Examining data/powder-118+dfsg1/name.cpp
Examining data/powder-118+dfsg1/creature.h
Examining data/powder-118+dfsg1/hiscore.h
Examining data/powder-118+dfsg1/stylus.cpp
Examining data/powder-118+dfsg1/bmp.h
Examining data/powder-118+dfsg1/signpost.cpp
Examining data/powder-118+dfsg1/input.h
Examining data/powder-118+dfsg1/assert.cpp
Examining data/powder-118+dfsg1/hiscore.cpp
Examining data/powder-118+dfsg1/item.cpp
Examining data/powder-118+dfsg1/artifact.cpp
Examining data/powder-118+dfsg1/msg.h
Examining data/powder-118+dfsg1/mt19937ar.c
Examining data/powder-118+dfsg1/piety.cpp
Examining data/powder-118+dfsg1/itemstack.cpp
Examining data/powder-118+dfsg1/artifact.h
Examining data/powder-118+dfsg1/rand.h
Examining data/powder-118+dfsg1/bmp.cpp
Examining data/powder-118+dfsg1/dpdf_table.cpp
Examining data/powder-118+dfsg1/signpost.h
Examining data/powder-118+dfsg1/dpdf_table.h
Examining data/powder-118+dfsg1/speed.h
Examining data/powder-118+dfsg1/map.cpp
Examining data/powder-118+dfsg1/map.h
Examining data/powder-118+dfsg1/input.cpp
Examining data/powder-118+dfsg1/thread_win.h
Examining data/powder-118+dfsg1/main.cpp
Examining data/powder-118+dfsg1/action.cpp
Examining data/powder-118+dfsg1/control.h
Examining data/powder-118+dfsg1/mobref.h
Examining data/powder-118+dfsg1/ai.cpp
Examining data/powder-118+dfsg1/itemstack.h
Examining data/powder-118+dfsg1/build.cpp
Examining data/powder-118+dfsg1/sramstream.h
Examining data/powder-118+dfsg1/smokestack.cpp
Examining data/powder-118+dfsg1/smokestack.h
Examining data/powder-118+dfsg1/encyc_support.cpp
Examining data/powder-118+dfsg1/control.cpp
Examining data/powder-118+dfsg1/gfx/all_bitmaps.cpp
Examining data/powder-118+dfsg1/gfx/all_bitmaps.h
Examining data/powder-118+dfsg1/item.h
Examining data/powder-118+dfsg1/thread.cpp
Examining data/powder-118+dfsg1/gfxengine.h
Examining data/powder-118+dfsg1/grammar.cpp
Examining data/powder-118+dfsg1/speed.cpp
Examining data/powder-118+dfsg1/thread.h
Examining data/powder-118+dfsg1/ptrlist.h
Examining data/powder-118+dfsg1/intrinsic.cpp
Examining data/powder-118+dfsg1/piety.h
Examining data/powder-118+dfsg1/name.h
Examining data/powder-118+dfsg1/encyc_support.h
Examining data/powder-118+dfsg1/buf.h
Examining data/powder-118+dfsg1/rand.cpp
Examining data/powder-118+dfsg1/victory.h
Examining data/powder-118+dfsg1/buf.cpp
Examining data/powder-118+dfsg1/thread_linux.h
Examining data/powder-118+dfsg1/assert.h
Examining data/powder-118+dfsg1/victory.cpp
Examining data/powder-118+dfsg1/creature.cpp
Examining data/powder-118+dfsg1/intrinsic.h
Examining data/powder-118+dfsg1/gfxengine.cpp
Examining data/powder-118+dfsg1/thread_win.cpp
Examining data/powder-118+dfsg1/port/linux/linuxmain.cpp
Examining data/powder-118+dfsg1/port/mac/macmain.cpp
Examining data/powder-118+dfsg1/port/mac/SDLMain.h
Examining data/powder-118+dfsg1/port/gba/gbamain.cpp
Examining data/powder-118+dfsg1/port/gba/hamfake.h
Examining data/powder-118+dfsg1/port/gba/mygba.h
Examining data/powder-118+dfsg1/port/gba/hamfake.cpp
Examining data/powder-118+dfsg1/port/android/powder/jni/powder-jni.cpp
Examining data/powder-118+dfsg1/port/windows/winmain.cpp
Examining data/powder-118+dfsg1/port/ds/dsmain.cpp
Examining data/powder-118+dfsg1/port/ds/hamfake.h
Examining data/powder-118+dfsg1/port/ds/mygba.h
Examining data/powder-118+dfsg1/port/ds/hamfake.cpp
Examining data/powder-118+dfsg1/port/sdl/hamfake.h
Examining data/powder-118+dfsg1/port/sdl/mygba.h
Examining data/powder-118+dfsg1/port/sdl/hamfake.cpp
Examining data/powder-118+dfsg1/port/gp2x/hamfake.h
Examining data/powder-118+dfsg1/port/gp2x/mygba.h
Examining data/powder-118+dfsg1/port/gp2x/gp2x.h
Examining data/powder-118+dfsg1/port/gp2x/hamfake.cpp
Examining data/powder-118+dfsg1/port/psp/hamfake.h
Examining data/powder-118+dfsg1/port/psp/pspmain.cpp
Examining data/powder-118+dfsg1/port/psp/mygba.h
Examining data/powder-118+dfsg1/port/psp/hamfake.cpp
Examining data/powder-118+dfsg1/mobref.cpp
Examining data/powder-118+dfsg1/msg.cpp

FINAL RESULTS:

data/powder-118+dfsg1/action.cpp:3589:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("You have %d free %s %s.",
data/powder-118+dfsg1/action.cpp:3596:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("You have %d free %s %s.",
data/powder-118+dfsg1/action.cpp:3619:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
		    strcpy(options[i], intrinsicFromWhatLetter((INTRINSIC_NAMES) glb_spelldefs[spell].intrinsic));
data/powder-118+dfsg1/action.cpp:3621:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		    strcat(options[i], glb_spelldefs[spell].name);
data/powder-118+dfsg1/action.cpp:3635:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
		    strcpy(options[i], intrinsicFromWhatLetter((INTRINSIC_NAMES) glb_skilldefs[skill].intrinsic));
data/powder-118+dfsg1/action.cpp:3637:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		    strcat(options[i], glb_skilldefs[skill].name);
data/powder-118+dfsg1/action.cpp:3730:17:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    spelltext.sprintf("Learn %s?", name);
data/powder-118+dfsg1/action.cpp:4518:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("The blob %s %s.",
data/powder-118+dfsg1/action.cpp:4625:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("Mind acid coats %s %s.",
data/powder-118+dfsg1/action.cpp:4671:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("The %s seems unaffected.",
data/powder-118+dfsg1/action.cpp:5396:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("The ray hits the %s.", directionflavour);
data/powder-118+dfsg1/action.cpp:6267:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("A strong wind blows from the %s.  ",
data/powder-118+dfsg1/action.cpp:6623:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("Shadowy tendrils yank the soul from %s and infuse it in %s.",
data/powder-118+dfsg1/action.cpp:6667:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("The wall collapses, reforming itself with the soul of %s.",
data/powder-118+dfsg1/action.cpp:7232:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    buf.sprintf("Where do you want to teleport?");
data/powder-118+dfsg1/action.cpp:8500:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("Knowing %s prevents %s from being forgotten.",
data/powder-118+dfsg1/action.cpp:8561:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("Knowing %s prevents %s from being forgotten.",
data/powder-118+dfsg1/artifact.cpp:180:9:  [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).
    buf.strcpy(syllables[syl]);
data/powder-118+dfsg1/artifact.cpp:182:9:  [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).
    buf.strcat(syllables[syl]);
data/powder-118+dfsg1/artifact.cpp:188:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(syllables[rand_choice(num_syllable)]);
data/powder-118+dfsg1/artifact.cpp:190:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(syllables[syl]);
data/powder-118+dfsg1/assert.cpp:52:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s: %d", file, line);
data/powder-118+dfsg1/bmp.cpp:25:17:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define iprintf printf
data/powder-118+dfsg1/bmp.cpp:378:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("gfx/%s.bmp", aname[anum]);
data/powder-118+dfsg1/buf.cpp:129:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    ::strcpy(text, myData);
data/powder-118+dfsg1/buf.cpp:215:6:  [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).
BUF::strcpy(const char *src)
data/powder-118+dfsg1/buf.cpp:225:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	::strcpy(text, src);
data/powder-118+dfsg1/buf.cpp:253:6:  [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).
BUF::strcat(const char *src)
data/powder-118+dfsg1/buf.cpp:262: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(src);
data/powder-118+dfsg1/buf.cpp:277:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
    ::strcat(myBuffer->data(), src);
data/powder-118+dfsg1/buf.cpp:287:5:  [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(s);
data/powder-118+dfsg1/buf.cpp:350:14:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    result = vsnprintf(str, size, format, ap_copy);
data/powder-118+dfsg1/buf.cpp:357:6:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
BUF::vsprintf(const char *fmt, va_list ap)
data/powder-118+dfsg1/buf.cpp:400:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
BUF::sprintf(const char *fmt, ...)
data/powder-118+dfsg1/buf.cpp:406:14:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    result = vsprintf(fmt, marker);
data/powder-118+dfsg1/buf.cpp:420:22:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    result = newtext.vsprintf(fmt, marker);
data/powder-118+dfsg1/buf.cpp:423:5:  [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(newtext);
data/powder-118+dfsg1/buf.cpp:470:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	::strcpy(text, myBuffer->buffer());
data/powder-118+dfsg1/buf.h:63:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    void	strcpy(const char *text);
data/powder-118+dfsg1/buf.h:64:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    void	strcpy(BUF buf)
data/powder-118+dfsg1/buf.h:79:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
    void	strcat(const char *text);
data/powder-118+dfsg1/buf.h:80:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
    void	strcat(BUF buf)
data/powder-118+dfsg1/buf.h:81:5:  [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(buf.buffer()); }
data/powder-118+dfsg1/buf.h:89:10:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    int		vsprintf(const char *fmt, va_list ap);
data/powder-118+dfsg1/buf.h:90:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    int		sprintf(const char *fmt, ...);
data/powder-118+dfsg1/creature.cpp:797:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%x  ", rand_hashstring(glbAvatarName));
data/powder-118+dfsg1/creature.cpp:1077:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s - %d: %d.  ",
data/powder-118+dfsg1/creature.cpp:1090:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d of %d, ", guess, total);
data/powder-118+dfsg1/creature.cpp:1107:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d.  ", def);
data/powder-118+dfsg1/creature.cpp:1170:9:  [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).
    buf.strcpy(syllable[rand_choice(n)]);
data/powder-118+dfsg1/creature.cpp:1172:6:  [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).
	buf.strcat(syllable[rand_choice(n)]);
data/powder-118+dfsg1/creature.cpp:4933:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("%%U <grow> into %s%s!", 
data/powder-118+dfsg1/creature.cpp:4968:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("%%U <learn> %s!", 
data/powder-118+dfsg1/creature.cpp:5563:8:  [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).
			buf.strcat(self->getName(true, true, false));
data/powder-118+dfsg1/creature.cpp:5565:8:  [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).
			buf.strcat(selfitem->getName(true, false, false, false, forcesingle));
data/powder-118+dfsg1/creature.cpp:5567:8:  [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).
			buf.strcat("something");
data/powder-118+dfsg1/creature.cpp:5573:8:  [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).
			buf.strcat(mob->getReflexive());
data/powder-118+dfsg1/creature.cpp:5575:8:  [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).
			buf.strcat(mob->getName(true, true, false));
data/powder-118+dfsg1/creature.cpp:5578:11:  [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).
		    buf.strcat(item->getName(true, false, false, false, forcesingle));
data/powder-118+dfsg1/creature.cpp:5589:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(*buflist[bufnum]);
data/powder-118+dfsg1/creature.cpp:5598:8:  [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).
			buf.strcat(self->getName(true, true, false));
data/powder-118+dfsg1/creature.cpp:5600:8:  [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).
			buf.strcat(selfitem->getName(true, false, false, false, forcesingle));
data/powder-118+dfsg1/creature.cpp:5602:8:  [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).
			buf.strcat("something");
data/powder-118+dfsg1/creature.cpp:5608:8:  [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).
			buf.strcat(mob->getReflexive());
data/powder-118+dfsg1/creature.cpp:5610:8:  [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).
			buf.strcat(mob->getName(true, true, false));
data/powder-118+dfsg1/creature.cpp:5613:11:  [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).
		    buf.strcat(item->getName(true, false, false, true, forcesingle));
data/powder-118+dfsg1/creature.cpp:5621:8:  [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).
			buf.strcat(self->getName(false, false, false));
data/powder-118+dfsg1/creature.cpp:5623:8:  [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).
			buf.strcat(selfitem->getName(false, false, false, false, forcesingle));
data/powder-118+dfsg1/creature.cpp:5625:8:  [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).
			buf.strcat("something");
data/powder-118+dfsg1/creature.cpp:5631:8:  [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).
			buf.strcat(mob->getReflexive());
data/powder-118+dfsg1/creature.cpp:5633:8:  [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).
			buf.strcat(mob->getName(false, false, false));
data/powder-118+dfsg1/creature.cpp:5636:11:  [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).
		    buf.strcat(item->getName(false, false, false, false, forcesingle));
data/powder-118+dfsg1/creature.cpp:5644:8:  [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).
			buf.strcat(gram_makepossessive(self->getName(true, true, false)));
data/powder-118+dfsg1/creature.cpp:5646:8:  [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).
			buf.strcat(gram_makepossessive(selfitem->getName(true, false, false, false, forcesingle)));
data/powder-118+dfsg1/creature.cpp:5648:8:  [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).
			buf.strcat("something's");
data/powder-118+dfsg1/creature.cpp:5651:11:  [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).
		    buf.strcat(gram_makepossessive(mob->getName(true, true, false)));
data/powder-118+dfsg1/creature.cpp:5653:11:  [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).
		    buf.strcat(gram_makepossessive(item->getName(true, false, false, false, forcesingle)));
data/powder-118+dfsg1/creature.cpp:5661:8:  [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).
			buf.strcat(self->getPossessive());
data/powder-118+dfsg1/creature.cpp:5663:8:  [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).
			buf.strcat(selfitem->getPossessive());
data/powder-118+dfsg1/creature.cpp:5665:8:  [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).
			buf.strcat("its");
data/powder-118+dfsg1/creature.cpp:5668:11:  [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).
		    buf.strcat(mob->getPossessive());
data/powder-118+dfsg1/creature.cpp:5670:11:  [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).
		    buf.strcat(item->getPossessive());
data/powder-118+dfsg1/creature.cpp:5678:8:  [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).
			buf.strcat(self->getAccusative());
data/powder-118+dfsg1/creature.cpp:5680:8:  [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).
			buf.strcat(selfitem->getAccusative());
data/powder-118+dfsg1/creature.cpp:5682:8:  [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).
			buf.strcat("something");
data/powder-118+dfsg1/creature.cpp:5685:11:  [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).
		    buf.strcat(mob->getAccusative());
data/powder-118+dfsg1/creature.cpp:5687:11:  [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).
		    buf.strcat(item->getAccusative());
data/powder-118+dfsg1/creature.cpp:5695:8:  [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).
			buf.strcat(self->getPronoun());
data/powder-118+dfsg1/creature.cpp:5697:8:  [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).
			buf.strcat(selfitem->getPronoun());
data/powder-118+dfsg1/creature.cpp:5699:8:  [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).
			buf.strcat("it");
data/powder-118+dfsg1/creature.cpp:5702:11:  [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).
		    buf.strcat(mob->getPronoun());
data/powder-118+dfsg1/creature.cpp:5704:11:  [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).
		    buf.strcat(item->getPronoun());
data/powder-118+dfsg1/creature.cpp:5774:8:  [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).
			buf.strcat(self->conjugate(verbbuf.buffer()));
data/powder-118+dfsg1/creature.cpp:5776:8:  [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).
			buf.strcat(selfitem->conjugate(verbbuf.buffer()));
data/powder-118+dfsg1/creature.cpp:5778:8:  [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).
			buf.strcat(gram_conjugate(verbbuf, VERB_IT));
data/powder-118+dfsg1/creature.cpp:5781:11:  [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).
		    buf.strcat(mob->conjugate(verbbuf.buffer()));
data/powder-118+dfsg1/creature.cpp:5784:11:  [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).
		    buf.strcat(item->conjugate(verbbuf.buffer()));
data/powder-118+dfsg1/creature.cpp:5875:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    basename.sprintf("%s %s", glb_mobdefs[myOrigDefinition].name, glb_mobdefs[myDefinition].name);
data/powder-118+dfsg1/creature.cpp:5936:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s the %s",
data/powder-118+dfsg1/creature.cpp:5960:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
        buf.sprintf("the %s", basename.buffer());
data/powder-118+dfsg1/creature.cpp:5964:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s", gram_getarticle(basename), basename.buffer());
data/powder-118+dfsg1/creature.cpp:6043:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("Sounds like %s.  ",
data/powder-118+dfsg1/creature.cpp:6048:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("Thinks like %s.  ",
data/powder-118+dfsg1/creature.cpp:6052:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("It feels like %s.  ",
data/powder-118+dfsg1/creature.cpp:6057:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		buf.sprintf("Seems suspicious....  ");
data/powder-118+dfsg1/creature.cpp:6300:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("- %s %s %s.",
data/powder-118+dfsg1/creature.cpp:6332:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("POWDER %03d", hiscore_getversion());
data/powder-118+dfsg1/creature.cpp:6364:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("You have save scummed %d times.", 
data/powder-118+dfsg1/creature.cpp:6375:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	buf.sprintf("Wizard mode is activated.");
data/powder-118+dfsg1/creature.cpp:6390:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("Physical: %d/%d (max %d)",
data/powder-118+dfsg1/creature.cpp:6394:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("Mental: %d/%d (max %d)",
data/powder-118+dfsg1/creature.cpp:6398:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("AC: %d", getAC());
data/powder-118+dfsg1/creature.cpp:6401:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("X: %d", getExp());
data/powder-118+dfsg1/creature.cpp:6409:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("Depth: %d", glbCurLevel->getDepth());
data/powder-118+dfsg1/creature.cpp:6411:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("Depth: %d", getDLevel());
data/powder-118+dfsg1/creature.cpp:6414:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d moves over ", speed_gettime());
data/powder-118+dfsg1/creature.cpp:6424:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("Score: %d", calcScore(didwin));
data/powder-118+dfsg1/creature.cpp:6532:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("- %s %s %s.",
data/powder-118+dfsg1/creature.cpp:6582:6:  [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).
	buf.strcpy("- ");
data/powder-118+dfsg1/creature.cpp:6583:6:  [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).
	buf.strcat(item->getName(false, false, true));
data/powder-118+dfsg1/creature.cpp:6584:6:  [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).
	buf.strcat(".");
data/powder-118+dfsg1/creature.cpp:6604:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s.txt", glbAvatarName);
data/powder-118+dfsg1/creature.cpp:7514:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%%IU <I:fall> off %%r %s.", slotname);
data/powder-118+dfsg1/creature.cpp:8489:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("You already know %s.",
data/powder-118+dfsg1/creature.cpp:8518:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("You must first learn %s.",
data/powder-118+dfsg1/creature.cpp:8601:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("You already know %s.",
data/powder-118+dfsg1/creature.cpp:8631:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("You must first learn %s.",
data/powder-118+dfsg1/creature.cpp:9504:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("%s fireball explodes!",
data/powder-118+dfsg1/creature.cpp:9524:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("%s lightning forks!",
data/powder-118+dfsg1/creature.cpp:9601:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("The force bolt shatters the %s.",
data/powder-118+dfsg1/creature.cpp:9623:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("The force bolt shatters the %s.",
data/powder-118+dfsg1/encyc_support.cpp:116:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("Magic Cost: %d", glb_spelldefs[spell].mpcost);
data/powder-118+dfsg1/encyc_support.cpp:122:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("Health Cost: %d", glb_spelldefs[spell].hpcost);
data/powder-118+dfsg1/encyc_support.cpp:128:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("EXP Cost: %d", glb_spelldefs[spell].xpcost);
data/powder-118+dfsg1/encyc_support.cpp:132:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    buf.sprintf("Circle: ");
data/powder-118+dfsg1/encyc_support.cpp:133:9:  [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).
    buf.strcat(gram_capitalize(glb_spelltypedefs[glb_spelldefs[spell].type].name));
data/powder-118+dfsg1/gfxengine.cpp:946:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("%d, %d, %d, %d...%d, %d, %d, %d...",
data/powder-118+dfsg1/gfxengine.cpp:1835:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("%d tiles used", glb_tilestashsize);
data/powder-118+dfsg1/gfxengine.cpp:2048:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("%2d", item->getStackCount());
data/powder-118+dfsg1/gfxengine.cpp:2928: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(prefix, &origdst[wordstart+1]);
data/powder-118+dfsg1/gfxengine.cpp:3090:8:  [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).
		body.strcat(glb_pager[i]);
data/powder-118+dfsg1/gfxengine.cpp:3091:8:  [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).
		body.strcat("\n\r");
data/powder-118+dfsg1/grammar.cpp:174:9:  [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).
    buf.strcpy(phrase);
data/powder-118+dfsg1/grammar.cpp:219:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%sice%s%s",
data/powder-118+dfsg1/grammar.cpp:227:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%sren%s%s",
data/powder-118+dfsg1/grammar.cpp:236:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%smen%s%s",
data/powder-118+dfsg1/grammar.cpp:246:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%sves%s%s",
data/powder-118+dfsg1/grammar.cpp:255:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%sves%s%s",
data/powder-118+dfsg1/grammar.cpp:263:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%sen%s%s",
data/powder-118+dfsg1/grammar.cpp:276:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%ses%s%s", 
data/powder-118+dfsg1/grammar.cpp:286:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s%s%ss%s%s", 
data/powder-118+dfsg1/grammar.cpp:295:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s%s%sies%s%s",
data/powder-118+dfsg1/grammar.cpp:304:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s%s%ss%s%s", 
data/powder-118+dfsg1/grammar.cpp:500:9:  [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).
    buf.strcpy(basename);
data/powder-118+dfsg1/grammar.cpp:515:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	result.sprintf("no %s", plural.buffer());
data/powder-118+dfsg1/grammar.cpp:521:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	    result.strcpy(gram_getarticle(basename));
data/powder-118+dfsg1/grammar.cpp:522:13:  [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).
	    result.strcat(basename);
data/powder-118+dfsg1/grammar.cpp:531:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	result.sprintf("%d %s", count, plural.buffer());
data/powder-118+dfsg1/grammar.cpp:576:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("%d%s", place, ext);
data/powder-118+dfsg1/grammar.cpp:651:6:  [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).
	buf.strcat(space);
data/powder-118+dfsg1/grammar.cpp:696:6:  [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).
	buf.strcpy(verb);
data/powder-118+dfsg1/grammar.cpp:704:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
		buf.strcpy(verb);
data/powder-118+dfsg1/grammar.cpp:732:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("%ses", verb);
data/powder-118+dfsg1/grammar.cpp:739:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("%ss", verb);
data/powder-118+dfsg1/grammar.cpp:744:8:  [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).
			buf.strcat(verb);
data/powder-118+dfsg1/grammar.cpp:748:8:  [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).
			buf.strcat("ies");
data/powder-118+dfsg1/grammar.cpp:753:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("%ss", verb);
data/powder-118+dfsg1/grammar.cpp:761:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("%s", verb);
data/powder-118+dfsg1/grammar.cpp:766:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("%s", verb);
data/powder-118+dfsg1/grammar.cpp:773:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("%s", verb);
data/powder-118+dfsg1/grammar.cpp:778:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
		buf.strcpy(verb);
data/powder-118+dfsg1/grammar.cpp:793:12:  [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).
    srcbuf.strcpy(str);
data/powder-118+dfsg1/grammar.cpp:852:12:  [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).
    strbuf.strcpy(str);
data/powder-118+dfsg1/grammar.cpp:885:9:  [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).
	result.strcat("'");
data/powder-118+dfsg1/grammar.cpp:887:9:  [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).
	result.strcat("'s");
data/powder-118+dfsg1/hiscore.cpp:175:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(line1, "%c%s%c%03d/%02d%c%03d/%02d %c%02d/%02d",
data/powder-118+dfsg1/hiscore.cpp:191:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(line2, "    %s $%d t:%d v%03d", state, entry->score, entry->turns, entry->version);
data/powder-118+dfsg1/hiscore.cpp:370:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("You came in %s place!  ", placename.buffer());
data/powder-118+dfsg1/input.cpp:340: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(glbInputData.myText, initialtext);
data/powder-118+dfsg1/item.cpp:1721:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s%s %s",
data/powder-118+dfsg1/item.cpp:1781:14:  [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).
		nonarticle.strcat("evil ");
data/powder-118+dfsg1/item.cpp:1783:14:  [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).
		nonarticle.strcat("holy ");
data/powder-118+dfsg1/item.cpp:1788:17:  [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).
	    nonarticle.strcat("poisoned ");
data/powder-118+dfsg1/item.cpp:1801:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		tmp.sprintf("%+d ", getEnchantment());
data/powder-118+dfsg1/item.cpp:1802:14:  [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).
		nonarticle.strcat(tmp);
data/powder-118+dfsg1/item.cpp:1806:13:  [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).
	nonarticle.strcat(rawname);
data/powder-118+dfsg1/item.cpp:1810:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	    buf.strcpy("the ");
data/powder-118+dfsg1/item.cpp:1811:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(nonarticle);
data/powder-118+dfsg1/item.cpp:1828:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    tmp.sprintf(" (%d)", myCharges);
data/powder-118+dfsg1/item.cpp:1829:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(tmp);
data/powder-118+dfsg1/item.cpp:1837:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(" ");
data/powder-118+dfsg1/item.cpp:1839:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(" called ");
data/powder-118+dfsg1/item.cpp:1840:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(myName.getName());
data/powder-118+dfsg1/item.cpp:1844:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(" named ");
data/powder-118+dfsg1/item.cpp:1845:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(glb_itemnames[myDefinition]);
data/powder-118+dfsg1/item.cpp:1913:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s:", basename);
data/powder-118+dfsg1/item.cpp:1916:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("  %s", idname);
data/powder-118+dfsg1/item.cpp:1945:9:  [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).
    buf.strcpy("");
data/powder-118+dfsg1/item.cpp:1957:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		section.sprintf("%d",
data/powder-118+dfsg1/item.cpp:1960:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(section);
data/powder-118+dfsg1/item.cpp:1964:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		section.sprintf("%d", 
data/powder-118+dfsg1/item.cpp:1966:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(section);
data/powder-118+dfsg1/item.cpp:1967:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		section.sprintf("d%d", 
data/powder-118+dfsg1/item.cpp:1969:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(section);
data/powder-118+dfsg1/item.cpp:1974:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    section.sprintf("%+d", 
data/powder-118+dfsg1/item.cpp:1976:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(section);
data/powder-118+dfsg1/item.cpp:1980:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    section.sprintf("[%+d]", attack->bonustohit);
data/powder-118+dfsg1/item.cpp:1981:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(section);
data/powder-118+dfsg1/item.cpp:1983:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	section.sprintf(" (%s)", glb_elementdefs[attack->element].name);
data/powder-118+dfsg1/item.cpp:1984:6:  [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).
	buf.strcat(section);
data/powder-118+dfsg1/item.cpp:1988:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(", {");
data/powder-118+dfsg1/item.cpp:1991:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(section);
data/powder-118+dfsg1/item.cpp:1993:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat("}");
data/powder-118+dfsg1/item.cpp:1998:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(", ");
data/powder-118+dfsg1/item.cpp:2064:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("light radius %d", getLightRadius());
data/powder-118+dfsg1/item.cpp:2079:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("armour %d", getAC());
data/powder-118+dfsg1/item.cpp:2106:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d: ", attack->range);
data/powder-118+dfsg1/item.cpp:2122:9:  [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).
    buf.strcpy("Size: ");
data/powder-118+dfsg1/item.cpp:2123:9:  [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).
    buf.strcat(gram_capitalize(glb_sizedefs[getSize()].name));
data/powder-118+dfsg1/item.cpp:2127:9:  [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).
    buf.strcpy("Material: ");
data/powder-118+dfsg1/item.cpp:2128:9:  [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).
    buf.strcat(gram_capitalize(glb_materialdefs[getMaterial()].name));
data/powder-118+dfsg1/item.cpp:2132:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("Weight: %d",
data/powder-118+dfsg1/item.cpp:2158:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("Noise: %s", noisetext);
data/powder-118+dfsg1/item.cpp:2163:9:  [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).
    buf.strcpy(glb_skilldefs[getAttackSkill()].name);
data/powder-118+dfsg1/item.cpp:3200:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("A thick slime coats %s.",
data/powder-118+dfsg1/item.cpp:3255:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("Unknown potion type %d", getMagicClass());
data/powder-118+dfsg1/item.cpp:3835:12:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			    buf.sprintf("%s fades into the ground.",
data/powder-118+dfsg1/main.cpp:1158:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	text.sprintf( 
data/powder-118+dfsg1/main.cpp:1167:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	text.sprintf( 
data/powder-118+dfsg1/main.cpp:1183:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	text.sprintf( 
data/powder-118+dfsg1/main.cpp:1224:11:  [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).
	    text.strcat(glb_hungerdefs[hunger].name);
data/powder-118+dfsg1/main.cpp:1225:11:  [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).
	    text.strcat(" ");
data/powder-118+dfsg1/main.cpp:1229:11:  [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).
	    text.strcat("Hardening ");
data/powder-118+dfsg1/main.cpp:1231:11:  [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).
	    text.strcat("Aflame ");
data/powder-118+dfsg1/main.cpp:1233:11:  [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).
	    text.strcat("Strangled ");
data/powder-118+dfsg1/main.cpp:1235:11:  [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).
	    text.strcat("Paralysed ");
data/powder-118+dfsg1/main.cpp:1237:11:  [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).
	    text.strcat("Asleep ");
data/powder-118+dfsg1/main.cpp:1239:11:  [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).
	    text.strcat("Confused ");
data/powder-118+dfsg1/main.cpp:1241:11:  [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).
	    text.strcat("Deadly Poisoned ");
data/powder-118+dfsg1/main.cpp:1243:11:  [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).
	    text.strcat("Harshly Poisoned ");
data/powder-118+dfsg1/main.cpp:1245:11:  [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).
	    text.strcat("Strongly Poisoned ");
data/powder-118+dfsg1/main.cpp:1247:11:  [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).
	    text.strcat("Poisoned ");
data/powder-118+dfsg1/main.cpp:1249:11:  [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).
	    text.strcat("Mildly Poisoned ");
data/powder-118+dfsg1/main.cpp:1251:11:  [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).
	    text.strcat("Bleeding ");
data/powder-118+dfsg1/main.cpp:1253:11:  [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).
	    text.strcat("Blind ");
data/powder-118+dfsg1/main.cpp:1255:11:  [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).
	    text.strcat("Deaf ");
data/powder-118+dfsg1/main.cpp:1257:11:  [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).
	    text.strcat("Tired ");
data/powder-118+dfsg1/main.cpp:1265:8:  [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).
		text.strcat("Submerged ");
data/powder-118+dfsg1/main.cpp:1267:8:  [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).
		text.strcat("Buried ");
data/powder-118+dfsg1/main.cpp:1270:11:  [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).
	    text.strcat("In Pit ");
data/powder-118+dfsg1/main.cpp:1272:11:  [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).
	    text.strcat("In Tree ");
data/powder-118+dfsg1/main.cpp:1274:11:  [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).
	    text.strcat("Slow ");
data/powder-118+dfsg1/main.cpp:1276:11:  [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).
	    text.strcat("Amnesic ");
data/powder-118+dfsg1/main.cpp:1278:11:  [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).
	    text.strcat("Off Balance ");
data/powder-118+dfsg1/main.cpp:1282:8:  [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).
		text.strcat("Searching ");
data/powder-118+dfsg1/main.cpp:1284:8:  [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).
		text.strcat("Searched ");
data/powder-118+dfsg1/main.cpp:1965:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	welcome.sprintf("You are a %s %s.",
data/powder-118+dfsg1/main.cpp:2039:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("You have save scummed %d times.  ",
data/powder-118+dfsg1/main.cpp:2573:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
		buf.strcpy("eat ");
data/powder-118+dfsg1/main.cpp:2574:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(stack(j)->getName());
data/powder-118+dfsg1/main.cpp:3872:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s cries: I still have a chance!  "
data/powder-118+dfsg1/main.cpp:3917:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d mobs, %d tables, %d buffers",
data/powder-118+dfsg1/main.cpp:3923:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d items, %d mobs, %d maps.",
data/powder-118+dfsg1/main.cpp:3930:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Mob Types", NUM_MOBS);
data/powder-118+dfsg1/main.cpp:3932:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Item Types", NUM_ITEMS);
data/powder-118+dfsg1/main.cpp:3934:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Wand Types", NUM_WANDS);
data/powder-118+dfsg1/main.cpp:3936:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Book Types", NUM_SPELLBOOKS);
data/powder-118+dfsg1/main.cpp:3938:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Amulet Types", NUM_AMULETS);
data/powder-118+dfsg1/main.cpp:3940:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Helms Types", NUM_HELMS);
data/powder-118+dfsg1/main.cpp:3942:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Ring Types", NUM_RINGS);
data/powder-118+dfsg1/main.cpp:3944:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Scroll Types", NUM_SCROLLS);
data/powder-118+dfsg1/main.cpp:3946:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Potion Types", NUM_POTIONS);
data/powder-118+dfsg1/main.cpp:3948:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Attack Types", NUM_ATTACKS);
data/powder-118+dfsg1/main.cpp:3950:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Element Types", NUM_ELEMENTS);
data/powder-118+dfsg1/main.cpp:3952:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Spells", NUM_SPELLS);
data/powder-118+dfsg1/main.cpp:3954:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Skills", NUM_SKILLS);
data/powder-118+dfsg1/main.cpp:3956:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Intrinsics", NUM_INTRINSICS);
data/powder-118+dfsg1/main.cpp:3958:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Actions", NUM_ACTIONS);
data/powder-118+dfsg1/main.cpp:3960:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Sprites", NUM_SPRITES);
data/powder-118+dfsg1/main.cpp:3962:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Tiles", NUM_TILES);
data/powder-118+dfsg1/main.cpp:3964:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d Paperdoll Tiles", NUM_MINIS);
data/powder-118+dfsg1/main.cpp:4465:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("Bind %s to?  ", glb_actiondefs[action].name);
data/powder-118+dfsg1/main.cpp:5010:20:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    forgetprompt.sprintf("Forget %s?", glb_skilldefs[skill].name);
data/powder-118+dfsg1/main.cpp:5012:20:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    forgetprompt.sprintf("Forget %s?", glb_spelldefs[spell].name);
data/powder-118+dfsg1/main.cpp:5191:4:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
			strcpy(glbAvatarName, buf);
data/powder-118+dfsg1/main.cpp:5329:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("%s kill!", petname.buffer());
data/powder-118+dfsg1/main.cpp:5336:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("%s guard me!", petname.buffer());
data/powder-118+dfsg1/main.cpp:5343:8:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
			buf.sprintf("%s stay!", petname.buffer());
data/powder-118+dfsg1/main.cpp:5377:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
			sprintf(mi, "%s (!)", m[j]);
data/powder-118+dfsg1/main.cpp:5505:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("You need %d magic points!",
data/powder-118+dfsg1/main.cpp:5514:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("You need %d health points!",
data/powder-118+dfsg1/main.cpp:5523:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("You need %d free experience points!",
data/powder-118+dfsg1/map.cpp:343:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("Found end at %d.  ", iterations);
data/powder-118+dfsg1/map.cpp:2728:6:  [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).
	buf.strcat(mob->getDescription());
data/powder-118+dfsg1/map.cpp:2737:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat("You feel yourself");
data/powder-118+dfsg1/map.cpp:2739:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat("You see yourself");
data/powder-118+dfsg1/map.cpp:2768:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat("You recall ");
data/powder-118+dfsg1/map.cpp:2772:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat("You feel ");
data/powder-118+dfsg1/map.cpp:2776:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat("You see ");
data/powder-118+dfsg1/map.cpp:2781:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(", ");
data/powder-118+dfsg1/map.cpp:2787:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat("many items");
data/powder-118+dfsg1/map.cpp:2790:6:  [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).
	buf.strcat(stack(i)->getName());
data/powder-118+dfsg1/map.cpp:2801:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		buf.sprintf("You know nothing of this spot.  ");
data/powder-118+dfsg1/map.cpp:2807:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(here);
data/powder-118+dfsg1/map.cpp:2810:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		buf.strcat(".  ");
data/powder-118+dfsg1/map.cpp:2834:6:  [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).
	buf.strcat(prefix);
data/powder-118+dfsg1/map.cpp:2835:6:  [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).
	buf.strcat(glb_smokedefs[smoke].name);
data/powder-118+dfsg1/map.cpp:2843:6:  [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).
	buf.strcat(prefix);
data/powder-118+dfsg1/map.cpp:2844:6:  [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).
	buf.strcat(glb_squaredefs[tile].description);
data/powder-118+dfsg1/map.cpp:2851:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(here);
data/powder-118+dfsg1/map.cpp:2853:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	    buf.strcat(".  ");
data/powder-118+dfsg1/map.cpp:4362:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s floods %s, leaving it unchanged.", liquid, desc);
data/powder-118+dfsg1/map.cpp:4369:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s floods %s.", liquid, desc);
data/powder-118+dfsg1/mobref.cpp:249:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("new id: %d.  ", newid);
data/powder-118+dfsg1/mobref.cpp:261:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("new free: %d.  ", glb_freelist);
data/powder-118+dfsg1/msg.cpp:266: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(prefix, &origdst[wordstart+1]);
data/powder-118+dfsg1/msg.cpp:406:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("%s%c", msg, SYMBOL_NEXT);
data/powder-118+dfsg1/msg.cpp:531:6:  [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(glbStashedMsg[glbStashHead][i], glbMsg[i]);
data/powder-118+dfsg1/msg.cpp:643: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(glbMsg[i], glbStashedMsg[glbStashView][i]);
data/powder-118+dfsg1/piety.cpp:494:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("%s: %d:%d.  ",
data/powder-118+dfsg1/piety.cpp:528:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%s: %s  ", glb_goddefs[god].name,
data/powder-118+dfsg1/piety.cpp:559:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf(abusemsg[rand_choice(3)],
data/powder-118+dfsg1/piety.cpp:574:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf(godsavemsg[rand_choice(3)],
data/powder-118+dfsg1/piety.cpp:640:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Prove your worth!  ",
data/powder-118+dfsg1/piety.cpp:681:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: To the pits with you!  ",
data/powder-118+dfsg1/piety.cpp:692:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: A pox on you!  ",
data/powder-118+dfsg1/piety.cpp:703:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: You are an inferior tool!  ",
data/powder-118+dfsg1/piety.cpp:714:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: You deserve no protection!  ",
data/powder-118+dfsg1/piety.cpp:725:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Drink the poison you have brewed!  ",
data/powder-118+dfsg1/piety.cpp:736:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Freeze with Fright at my Wrath!  ",
data/powder-118+dfsg1/piety.cpp:746:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Dream in Terror!  ",
data/powder-118+dfsg1/piety.cpp:771:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Learn Humility!  ",
data/powder-118+dfsg1/piety.cpp:782:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Your Magic Will Not Avail You!  ",
data/powder-118+dfsg1/piety.cpp:801:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("%s: I have caught you empty handed!  Ha!  ",
data/powder-118+dfsg1/piety.cpp:808:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Your over use of %s bores me!  ",
data/powder-118+dfsg1/piety.cpp:871:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s wails in confusion.  ",
data/powder-118+dfsg1/piety.cpp:1035:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Allow me to aid you.  ",
data/powder-118+dfsg1/piety.cpp:1042:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Your flesh shall mend!  ",
data/powder-118+dfsg1/piety.cpp:1050:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Show your devotion!  ",
data/powder-118+dfsg1/piety.cpp:1058:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: You've proven your worth!",
data/powder-118+dfsg1/piety.cpp:1080:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Your affliction pains me!  ",
data/powder-118+dfsg1/piety.cpp:1088:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: I wish no more statues.  ",
data/powder-118+dfsg1/piety.cpp:1098:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Your water is blessed!  ",
data/powder-118+dfsg1/piety.cpp:1120:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: You are my weapon: Cut Deeply!  ",
data/powder-118+dfsg1/piety.cpp:1130:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Accept my protection.  ",
data/powder-118+dfsg1/piety.cpp:1140:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Knowledge is Power!  ",
data/powder-118+dfsg1/piety.cpp:1177:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Use my gift wisely.  ",
data/powder-118+dfsg1/piety.cpp:1209:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Know Your Tools!  ",
data/powder-118+dfsg1/piety.cpp:1285:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s: Suffer my Wrath!  ",
data/powder-118+dfsg1/piety.cpp:1350:12:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    curgod.sprintf("You currently worship %s.  ", glb_goddefs[glbChosenGod].name);
data/powder-118+dfsg1/piety.cpp:1378:6:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	    sprintf(menu[i+1], "%-11s (%d)",
data/powder-118+dfsg1/piety.cpp:1416:16:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    godchoice.sprintf("Follow %s?", glb_goddefs[god].name);
data/powder-118+dfsg1/piety.cpp:1553:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("You have %d free spell and %d free skill slots.",
data/powder-118+dfsg1/piety.cpp:1577:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(menu[god], "%10s: %d (%d)",
data/powder-118+dfsg1/piety.cpp:1595:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("Now Worshipping: %s", glb_goddefs[glbChosenGod].name);
data/powder-118+dfsg1/port/ds/hamfake.cpp:728:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(buf, "%s%s", glbAbsoluteDataPath, path);
data/powder-118+dfsg1/port/psp/hamfake.h:27:9:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define printf pspDebugScreenPrintf
data/powder-118+dfsg1/port/psp/pspmain.cpp:19:9:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define printf pspDebugScreenPrintf
data/powder-118+dfsg1/port/sdl/hamfake.cpp:1756:6:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	    fprintf(stderr, TRANSACTIONNAME " is corrupt: %d, ignoring it.\r\n", transactionsize);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:1770:3:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
		fprintf(stderr, SAVENAME " is corrupt: %d, but still reading it.\r\n", savesize);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2144:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    fulldst.sprintf("\\My Documents\\POWDER\\%s", dst);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2145:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    fullsrc.sprintf("\\My Documents\\POWDER\\%s", src);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2150:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	fullsrc.sprintf("%s/%s", glbOurDataPath, src);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2151:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	fulldst.sprintf("%s/%s", glbOurDataPath, dst);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2156:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    fullsrc.strcpy(src);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2157:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    fulldst.strcpy(dst);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2174:14:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    fullpath.sprintf("\\My Documents\\POWDER\\%s", path);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2185:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	fullpath.sprintf("%s/%s", glbOurDataPath, path);
data/powder-118+dfsg1/sramstream.cpp:238:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("Completed save of %d bytes, %d blocks.",
data/powder-118+dfsg1/sramstream.cpp:328:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("Z:%d,B:%d,S:%d,I:%d",
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:175:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(outputname, "%s.c", argv[1]);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:185: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(varname, argv[1]);
data/powder-118+dfsg1/support/compendium/compendium.cpp:324:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    fname.sprintf("%s.txt", rawname);
data/powder-118+dfsg1/support/compendium/compendium.cpp:326:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    bmpname.sprintf("%s.bmp", rawname);
data/powder-118+dfsg1/support/compendium/compendium.cpp:328:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    imgname.sprintf("%s", rawname);
data/powder-118+dfsg1/support/compendium/compendium.cpp:339:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    name.strcpy(rawname);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:154: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(newlast, myLastLine);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:168: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(newlast, text);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:175: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(myLastLine, text);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:444: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(headername, argv[1]);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:445: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(cppname, argv[1]);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:537: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(bookname, line);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:560: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(keyname, bookname);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:562: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(keyname, readhead);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:577: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(entryname, readhead+2);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:611: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(output, tmp);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:785:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
		    strcpy(total, item->myValue);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:787:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		    strcat(total, varvalue);
data/powder-118+dfsg1/support/map2c/map2c.cpp:112: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(glbMap[glbHeight], &line[1]);
data/powder-118+dfsg1/support/tile2c/bmp.cpp:22:17:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define iprintf printf
data/powder-118+dfsg1/support/tile2c/bmp.cpp:356:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(buf, "%s.bmp", aname[anum]);
data/powder-118+dfsg1/support/tile2c/bmp.cpp:588:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(buf, "%s_8.c", aname[anum]);
data/powder-118+dfsg1/support/tile2c/bmp.cpp:589:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(buf2, "%s_Tiles", aname[anum]);
data/powder-118+dfsg1/victory.cpp:79:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d year%s, %d day%s, %d hour%s, %d minute%s and %d second%s",
data/powder-118+dfsg1/victory.cpp:90:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d day%s and %dh%dm%ds",
data/powder-118+dfsg1/victory.cpp:100:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%dh%dm%ds",
data/powder-118+dfsg1/victory.cpp:109:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d minute%s and %d second%s",
data/powder-118+dfsg1/victory.cpp:117:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	buf.sprintf("%d second%s",
data/powder-118+dfsg1/victory.cpp:132:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("%s intrinsics are:", mob->getPossessive());
data/powder-118+dfsg1/victory.cpp:252:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%d,%03dk", (totalkill / 1000000),
data/powder-118+dfsg1/victory.cpp:257:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%d,%03d", (totalkill / 1000), (totalkill % 1000));
data/powder-118+dfsg1/victory.cpp:260:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%d", totalkill);
data/powder-118+dfsg1/victory.cpp:387:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("Baezl'bub has been vanquished by the %s "
data/powder-118+dfsg1/victory.cpp:400:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("Baezl'bub has fallen to %s!  ", name.buffer());
data/powder-118+dfsg1/victory.cpp:407:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("Baezl'bub's cruel reign of terror has ended, felled by %s!  ", name.buffer());
data/powder-118+dfsg1/victory.cpp:410:11:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		    buf.sprintf("While many stories have spread about how Baezl'bub died, his death is one fact none can doubt!  ");
data/powder-118+dfsg1/victory.cpp:415:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("All of the surface know who to thank - the %s known as %s!  ", prof, glbAvatarName);
data/powder-118+dfsg1/victory.cpp:427:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("%s.  ", attack->deathtext);
data/powder-118+dfsg1/victory.cpp:436:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("You committed suicide with the aid of %s.  ",
data/powder-118+dfsg1/victory.cpp:440:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		buf.sprintf("You committed suicide.  ");
data/powder-118+dfsg1/victory.cpp:450:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("%s was struck down at a young age.  ",
data/powder-118+dfsg1/victory.cpp:454:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		    buf.sprintf("The %s %s became another statistic.  ",
data/powder-118+dfsg1/victory.cpp:472:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf(formattxt,
data/powder-118+dfsg1/victory.cpp:485:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf(formattxt,
data/powder-118+dfsg1/victory.cpp:492:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf(formattxt,
data/powder-118+dfsg1/victory.cpp:503:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("Men cry and women wail as word reaches the surface of the death of the %s %s!  ",
data/powder-118+dfsg1/victory.cpp:513:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("So much hope crushed by that most vile of %s, %s.  ",
data/powder-118+dfsg1/victory.cpp:564:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("The %s %s death at the hands of %s%s%s will "
data/powder-118+dfsg1/victory.cpp:578:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("Why did %s think life was not worth living?  "
data/powder-118+dfsg1/victory.cpp:586:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("The %s %s death is used to this day to remind "
data/powder-118+dfsg1/victory.cpp:594:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("The %s %s reputation is sullied by an ignoble death.  ", 
data/powder-118+dfsg1/victory.cpp:777:9:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    buf.sprintf("You took %d moves.  ", speed_gettime());
data/powder-118+dfsg1/victory.cpp:790:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("You took %s.  That is outright insanity.  ",
data/powder-118+dfsg1/victory.cpp:795:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("You took %s.  Impressive dedication!  ",
data/powder-118+dfsg1/victory.cpp:801:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("It took you %s to defeat Baezl'bub.  ",
data/powder-118+dfsg1/victory.cpp:804:7:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
		buf.sprintf("You spent %s.  And you still didn't win.  ",
data/powder-118+dfsg1/victory.cpp:809:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("You spent %s.  %s",
data/powder-118+dfsg1/victory.cpp:817:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    buf.sprintf("That was quick - %s.  ",
data/powder-118+dfsg1/port/sdl/hamfake.cpp:1617:9:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	home = getenv("HOME");
data/powder-118+dfsg1/thread.cpp:99:7:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
    ::InitializeCriticalSection(myLock);
data/powder-118+dfsg1/thread.cpp:130:7:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    ::EnterCriticalSection(myLock);
data/powder-118+dfsg1/thread_win.cpp:19:5:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
    InitializeCriticalSection(&myCritSec);
data/powder-118+dfsg1/thread_win.cpp:60:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&myCritSec);
data/powder-118+dfsg1/thread_win.cpp:69:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&myCritSec);
data/powder-118+dfsg1/action.cpp:3603:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		options = new char *[num_options+2];
data/powder-118+dfsg1/action.cpp:5782: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(&attack, &glb_attackdefs[ATTACK_FLAMESTRIKE], sizeof(ATTACK_DEF));
data/powder-118+dfsg1/action.cpp:6255: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.
	    const char *direction[9] =
data/powder-118+dfsg1/action.cpp:7567: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.
	    const char 		*moblist[NUM_MOBS+2]; // room for null, nochange
data/powder-118+dfsg1/artifact.cpp:36: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(&attack, &glb_attackdefs[ATTACK_MISUSED], sizeof(ATTACK_DEF));
data/powder-118+dfsg1/artifact.cpp:37: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(&thrownattack, &glb_attackdefs[ATTACK_MISTHROWN], sizeof(ATTACK_DEF));
data/powder-118+dfsg1/artifact.cpp:305: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		intbuf[100];
data/powder-118+dfsg1/bmp.cpp:32: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    id[2];
data/powder-118+dfsg1/bmp.cpp:347: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(cd_to_pal, other, (1<<15) * sizeof(s16));
data/powder-118+dfsg1/bmp.cpp:366: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.
    const char *aname[NUM_ALPHA] =
data/powder-118+dfsg1/buf.cpp:283: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[2];
data/powder-118+dfsg1/creature.cpp:6433: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 			dash[3] = { '-', ' ', 0 };
data/powder-118+dfsg1/gfx/all_bitmaps.cpp:30:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char *glb_fontnames[NUM_FONTS] =
data/powder-118+dfsg1/gfx/all_bitmaps.h:35:20:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    const unsigned char		*alphabet[NUM_FONTS];
data/powder-118+dfsg1/gfx/all_bitmaps.h:50: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.
extern const char *glb_fontnames[NUM_FONTS];
data/powder-118+dfsg1/gfxengine.cpp:164: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		 glb_stdcolor[NUM_COLOURS];
data/powder-118+dfsg1/gfxengine.cpp:811:24:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    glb_bg2tiledata = (char *) new u16[WORDPERTILE*TILESTASH];
data/powder-118+dfsg1/gfxengine.cpp:1502: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 glb_tilestashdata[TILESTASH][4];
data/powder-118+dfsg1/gfxengine.cpp:1600:22:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
gfx_fillminimapblock(char *dst, char c[4])
data/powder-118+dfsg1/gfxengine.cpp:1600:33:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
gfx_fillminimapblock(char *dst, char c[4])
data/powder-118+dfsg1/gfxengine.cpp:1621:22:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
gfx_fillminimapblock(char *dst, char c[4])
data/powder-118+dfsg1/gfxengine.cpp:1621:33:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
gfx_fillminimapblock(char *dst, char c[4])
data/powder-118+dfsg1/gfxengine.cpp:1651:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
gfx_findminimaptilenumber(char c[4])
data/powder-118+dfsg1/gfxengine.cpp:1727: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(glb_tilestashdata[i], c, 4);
data/powder-118+dfsg1/gfxengine.cpp:1737:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
gfx_drawminimapblock(int bx, int by, char c[4])
data/powder-118+dfsg1/gfxengine.cpp:1753: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	c[4];
data/powder-118+dfsg1/gfxengine.cpp:2572: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.
    const char *menu[4] =
data/powder-118+dfsg1/gfxengine.cpp:3000:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	newpager = new char *[glb_pager_size + 32];
data/powder-118+dfsg1/gfxengine.cpp:3003: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(newpager, glb_pager, sizeof(char *) * glb_pager_size);
data/powder-118+dfsg1/gfxengine.cpp:3927:24:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    glb_bg2tiledata = (char *) new u16[WORDPERTILE*TILESTASH];
data/powder-118+dfsg1/grammar.cpp:195: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		 ending[10];
data/powder-118+dfsg1/grammar.cpp:337: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		 ending[10];
data/powder-118+dfsg1/grammar.cpp:582:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char *glb_verbBE[2][NUM_VERBS] =
data/powder-118+dfsg1/grammar.cpp:586:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char *glb_pronoun[NUM_VERBS] =
data/powder-118+dfsg1/grammar.cpp:588:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char *glb_possessive[NUM_VERBS] =
data/powder-118+dfsg1/grammar.cpp:590:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char *glb_ownership[NUM_VERBS] =
data/powder-118+dfsg1/grammar.cpp:592:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char *glb_reflexive[NUM_VERBS] =
data/powder-118+dfsg1/grammar.cpp:594:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char *glb_accusative[NUM_VERBS] =
data/powder-118+dfsg1/grammar.cpp:647: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(tmp, verb, space - verb);
data/powder-118+dfsg1/grammar.cpp:658: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		 ending[10];
data/powder-118+dfsg1/hiscore.cpp:72: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 name[8];
data/powder-118+dfsg1/hiscore.cpp:131:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(entry->name, "No One");
data/powder-118+dfsg1/hiscore.cpp: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		name[9];
data/powder-118+dfsg1/hiscore.cpp:162: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(name, entry->name, 8);
data/powder-118+dfsg1/hiscore.cpp:211: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		prefix[6];
data/powder-118+dfsg1/hiscore.cpp:313: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		 line1[100], line2[100];
data/powder-118+dfsg1/hiscore.cpp:430: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(newentry.name, glbAvatarName, 8);
data/powder-118+dfsg1/hiscore.cpp:469: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(&glbScoreList[j], &glbScoreList[j-1],
data/powder-118+dfsg1/hiscore.cpp:473: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(&glbScoreList[i], &newentry,
data/powder-118+dfsg1/input.cpp:65:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 const char charlut[65] =
data/powder-118+dfsg1/input.cpp:73:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 const char charlutshift[65] =
data/powder-118+dfsg1/input.cpp:115:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char glbKeyboard[KEYWIDTH * KEYHEIGHT + 1] =
data/powder-118+dfsg1/input.cpp:122:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char glbKeyboardShift[KEYWIDTH * KEYHEIGHT + 1] =
data/powder-118+dfsg1/item.cpp:52: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		*glb_itemnames[NUM_ITEMS];
data/powder-118+dfsg1/item.cpp:4771: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[100];
data/powder-118+dfsg1/itemstack.cpp:49: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(newlist, myExtraList, 
data/powder-118+dfsg1/main.cpp:509: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.
	    const char *typelist[NUM_ITEMTYPES+1];
data/powder-118+dfsg1/main.cpp:525: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.
	    const char *itemlist[NUM_ITEMS+1];
data/powder-118+dfsg1/main.cpp:580: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.
	    const char *typelist[NUM_MAGICTYPES+1];
data/powder-118+dfsg1/main.cpp:609: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.
	    const char *itemlist[NUM_ITEMS+1];
data/powder-118+dfsg1/main.cpp:680: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.
	    const char *moblist[NUM_MOBS+1];
data/powder-118+dfsg1/main.cpp:720: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.
	    const char *spelllist[NUM_SPELLS+1];
data/powder-118+dfsg1/main.cpp:759: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.
	    const char *skilllist[NUM_SKILLS+1];
data/powder-118+dfsg1/main.cpp:831: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.
	    const char *godlist[NUM_GODS+1];
data/powder-118+dfsg1/main.cpp:853:6:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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[50];
data/powder-118+dfsg1/main.cpp:935: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.
	    const char *roomlist[NUM_ALLROOMDEFS+1];
data/powder-118+dfsg1/main.cpp:993: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.
	    const char *moblist[NUM_MOBS+1];
data/powder-118+dfsg1/main.cpp:1326:24:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    result = new const char *[num+1];
data/powder-118+dfsg1/main.cpp:1665: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.
	    const char		*textmenu[NUM_MAINMENUS];
data/powder-118+dfsg1/main.cpp:1900: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.
	    const char		*menu[NUM_GODS+1];
data/powder-118+dfsg1/main.cpp:1992:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(glbAvatarName, "George");
data/powder-118+dfsg1/main.cpp:1999:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(glbAvatarName, "Defiant");
data/powder-118+dfsg1/main.cpp:2558:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	list = new char *[stack.entries()*2 + 2 + hasladder];
data/powder-118+dfsg1/main.cpp:3075:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		    char		buf[100];
data/powder-118+dfsg1/main.cpp:3461: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.
	const char		*helptype[NUM_HELPS];
data/powder-118+dfsg1/main.cpp:3514: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.
		const char  *menu[NUM_GODS+1];
data/powder-118+dfsg1/main.cpp:3541: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.
		const char  *menu[NUM_SPELLS+1];
data/powder-118+dfsg1/main.cpp:3571: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.
		const char	*menu[NUM_SKILLS+1];
data/powder-118+dfsg1/main.cpp:4060: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.
	    const char		*m[NUM_ACTIONS + 3];
data/powder-118+dfsg1/main.cpp:4089: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.
	    const char		*m[NUM_SPELLS + 3];
data/powder-118+dfsg1/main.cpp:4364: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.
	const char 	*tiles[NUM_TILESETS + 2];
data/powder-118+dfsg1/main.cpp:4795: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.
		list = new char *[n+1];
data/powder-118+dfsg1/main.cpp:4860: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.
		list = new char *[n+1];
data/powder-118+dfsg1/main.cpp:4960:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    options = new const char *[n+1];
data/powder-118+dfsg1/main.cpp:5174:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		    char		buf[50];
data/powder-118+dfsg1/main.cpp:5223:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    menu = new char *[pets.entries() + 2];
data/powder-118+dfsg1/main.cpp:5357: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.
	    const char		*m[NUM_SPELLS + 3];
data/powder-118+dfsg1/main.cpp:6271: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("mapstats.csv", "wt");
data/powder-118+dfsg1/map.cpp:322: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.
	    buf.sprintf(buf, "Same effect at %d.  ", iterations);
data/powder-118+dfsg1/msg.cpp:49: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 *glbMsg[PAGE_SIZE];
data/powder-118+dfsg1/msg.cpp:50: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 *glbStashedMsg[NUM_STASHES][PAGE_SIZE];
data/powder-118+dfsg1/msg.cpp:212: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		 prefix[SCREEN_WIDTH+1];
data/powder-118+dfsg1/name.cpp:45:21:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    glb_names = new char *[glb_numnames];
data/powder-118+dfsg1/name.cpp:72:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	newnames = new char *[newsize];
data/powder-118+dfsg1/name.cpp:78: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(newnames, glb_names, sizeof(char *) * glb_numnames);
data/powder-118+dfsg1/name.cpp:79: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(newref, glb_namerefs, sizeof(u8) * glb_numnames);
data/powder-118+dfsg1/name.cpp:144: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[40];
data/powder-118+dfsg1/piety.cpp:1366: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.
    menu = new char *[numvalid+2];
data/powder-118+dfsg1/piety.cpp:1383:19:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    menu[i+1] = (char *) glb_goddefs[godlist[i]].classname;
data/powder-118+dfsg1/piety.cpp:1565: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		*menu[NUM_GODS + 1];
data/powder-118+dfsg1/port/android/powder/jni/powder-jni.cpp:118: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(rawarr, glbFill, sizeof(jint) * pixelcount);
data/powder-118+dfsg1/port/ds/hamfake.cpp:730:14:  [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).
    result = fopen(buf, mode);
data/powder-118+dfsg1/port/gp2x/hamfake.cpp:117: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			glb_rawSRAM[SRAMSIZE];
data/powder-118+dfsg1/port/gp2x/hamfake.cpp:651: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("powder.sav", "wb");
data/powder-118+dfsg1/port/gp2x/hamfake.cpp:1008: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("powder.sav", "rb");
data/powder-118+dfsg1/port/gp2x/hamfake.cpp:1202: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(dst, raw, TILEWIDTH*TILEHEIGHT);
data/powder-118+dfsg1/port/gp2x/hamfake.cpp:1216: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(glbSpriteList[tileno].data, data, numtile * TILEWIDTH*TILEHEIGHT);
data/powder-118+dfsg1/port/gp2x/hamfake.cpp:1309:12:  [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).
    return fopen(path, mode);
data/powder-118+dfsg1/port/psp/hamfake.cpp:112: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			glb_rawSRAM[SRAMSIZE];
data/powder-118+dfsg1/port/psp/hamfake.cpp:558:8:  [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("powder.sav", "wb");
data/powder-118+dfsg1/port/psp/hamfake.cpp:739:8:  [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("powder.sav", "rb");
data/powder-118+dfsg1/port/psp/hamfake.cpp:902: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(dst, raw, 8*8);
data/powder-118+dfsg1/port/psp/hamfake.cpp:916: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(&glbSpriteList[tileno].data, data, numtile * 8 * 8);
data/powder-118+dfsg1/port/psp/hamfake.cpp:1009: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).
  return fopen(path, mode);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:173: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			glb_rawSRAM[SRAMSIZE];
data/powder-118+dfsg1/port/sdl/hamfake.cpp:1992: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(dst, raw, TILEWIDTH*TILEHEIGHT);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2006: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(glbSpriteList[tileno].data, data, numtile * TILEWIDTH*TILEHEIGHT);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2176:12:  [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).
    return fopen(fullpath.buffer(), mode);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2188:12:  [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).
    return fopen(fullpath.buffer(), mode);
data/powder-118+dfsg1/port/sdl/hamfake.cpp:2191:12:  [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).
    return fopen(path, mode);
data/powder-118+dfsg1/port/sdl/hamfake.h:70: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		myText[256];
data/powder-118+dfsg1/rand.cpp:43: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(myMT, mt, sizeof(unsigned long) * N);
data/powder-118+dfsg1/rand.cpp:50: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(mt, myMT, sizeof(unsigned long) * N);
data/powder-118+dfsg1/sramstream.cpp:525: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		zerotable[128];
data/powder-118+dfsg1/sramstream.cpp:636: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	zerotable[128];
data/powder-118+dfsg1/sramstream.h:96: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		myBuffer[1024];
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:16: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    id[2];
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:38: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	c[2];
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:76:8:  [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).
    is.open(name, ios_base::in | ios_base::binary);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:172: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		outputname[500];
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:173: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		varname[500];
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:198: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[100];
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:200: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(buf, "0x%04x", (unsigned int) result[i]);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:202: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(buf, ", ");
data/powder-118+dfsg1/support/builddpdf/builddpdf.cpp:30:16:  [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).
    maxsides = atoi(argv[1]);
data/powder-118+dfsg1/support/builddpdf/builddpdf.cpp:31:16:  [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).
    maxrolls = atoi(argv[2]);
data/powder-118+dfsg1/support/builddpdf/builddpdf.cpp:32:13:  [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).
    scale = atoi(argv[3]);
data/powder-118+dfsg1/support/builddpdf/dpdf.cpp:105: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(myProb, dpdf.myProb, sizeof(double) * (myMax - myMin + 1));
data/powder-118+dfsg1/support/builddpdf/dpdf.cpp:291: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(&prob[myMin - num], myProb, sizeof(double) * (myMax - myMin + 1));
data/powder-118+dfsg1/support/builddpdf/dpdf.cpp:301: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(prob, myProb, sizeof(double) * (myMax - myMin + 1));
data/powder-118+dfsg1/support/compendium/compendium.cpp:95: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(fname, "wb");
data/powder-118+dfsg1/support/compendium/compendium.cpp:164: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(fname, "wb");
data/powder-118+dfsg1/support/compendium/compendium.cpp:335: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(fname.buffer(), "wt");
data/powder-118+dfsg1/support/compendium/compendium.cpp:371:14:  [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).
    fplist = fopen("moblist.txt", "wt");
data/powder-118+dfsg1/support/compendium/compendium.cpp:393:14:  [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).
    fplist = fopen("spelllist.txt", "wt");
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:163:3:  [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(newlast, "  ");
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:369: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 raw_input[1024];
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:370: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 tabless_input[8192];   // Enough for 1k of tabs.
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:451: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(headername, ".h");
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:452: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(cppname, ".cpp");
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:528: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	    bookname[1024], keyname[1024], entryname[1024];
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:168: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[512];
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:274:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    return atoi(text);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:282: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[512];
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:296: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(buf, "{ 0, 0, %d }", atoi_verify(src));
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:315: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(buf, "{ %d, %d, %d }", num, sides, bonus);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:353: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 	buf[512];
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:593: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		 tmp[10];
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:595: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		 output[1024];
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:610: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(tmp, "\\x%02x", val);
data/powder-118+dfsg1/support/map2c/map2c.cpp:72: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	line[1024];
data/powder-118+dfsg1/support/map2c/map2c.cpp:89:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    glbMap = new char *[100];
data/powder-118+dfsg1/support/map2c/map2c.cpp:155:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    return atoi(word);
data/powder-118+dfsg1/support/map2c/map2c.cpp:173:17:  [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).
	glb_minlevel = atoi(val);
data/powder-118+dfsg1/support/map2c/map2c.cpp:175:17:  [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).
	glb_maxlevel = atoi(val);
data/powder-118+dfsg1/support/map2c/map2c.cpp:177:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	glb_rarity = atoi(val);
data/powder-118+dfsg1/support/map2c/map2c.cpp:196:10:  [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).
	glb_x = atoi(val);
data/powder-118+dfsg1/support/map2c/map2c.cpp:199: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).
	    glb_y = atoi(val);
data/powder-118+dfsg1/support/map2c/map2c.cpp:229: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 line[1024];
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:17: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.
const unsigned char image_key[image_keylen] =
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:38: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.
const unsigned char palette_key[palette_keylen] =
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:80: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    id[2];
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:113:8:  [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).
    is.open(name, ios_base::in | ios_base::binary);
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:205: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	tmppal[512];
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:209: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(tmppal, oldpal, oldsize * 2);
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:227: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(newpal, tmppal, 512);
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:289:8:  [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).
    is.open("powder.gba", ios_base::in | ios_base::binary);
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:332: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 *bitmap, palette[512], *tiled;
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:342: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 palette_lut[256];
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:353:8:  [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).
    os.open("powder_c.gba", ios_base::out | ios_base::trunc | ios_base::binary);
data/powder-118+dfsg1/support/tile2c/bmp.cpp:29: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    id[2];
data/powder-118+dfsg1/support/tile2c/bmp.cpp:112: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(name, "rb");
data/powder-118+dfsg1/support/tile2c/bmp.cpp:270: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(fname, "wt");
data/powder-118+dfsg1/support/tile2c/bmp.cpp:301: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(fname, "wt");
data/powder-118+dfsg1/support/tile2c/bmp.cpp:337: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.
    const char *aname[NUM_ALPHA] =
data/powder-118+dfsg1/support/tile2c/bmp.cpp:345: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[100], buf2[100];
data/powder-118+dfsg1/support/txt2c/txt2c.cpp:62: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		line[2005];
data/powder-118+dfsg1/support/txt2c/txt2c.cpp:63: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		quote[4000];
data/powder-118+dfsg1/victory.cpp:34: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 glbAvatarName[100];
data/powder-118+dfsg1/victory.cpp:130: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.
    const char *intrinsiclist[NUM_INTRINSICS+1];
data/powder-118+dfsg1/victory.cpp:212: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 		*moblist[NUM_MOBS+1]; // room for null`
data/powder-118+dfsg1/victory.cpp:301:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(glbAvatarName, "Lazy Player");
data/powder-118+dfsg1/victory.h:24: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 glbAvatarName[100];
data/powder-118+dfsg1/action.cpp:3571: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).
	    num_options = strlen(glb_spellbookdefs[magicclass].spells) +
data/powder-118+dfsg1/action.cpp:3572: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(glb_spellbookdefs[magicclass].skills);
data/powder-118+dfsg1/action.cpp:3587: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(glb_spellbookdefs[magicclass].spells))
data/powder-118+dfsg1/action.cpp:3617: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).
		    options[i] = new char [strlen(glb_spelldefs[spell].name) + 5];
data/powder-118+dfsg1/action.cpp:3634: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).
		    options[i] = new char [strlen(glb_skilldefs[skill].name) + 5];
data/powder-118+dfsg1/buf.cpp:45: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).
    int		 strlen() { return ::strlen(myData); }
data/powder-118+dfsg1/buf.cpp:45:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int		 strlen() { return ::strlen(myData); }
data/powder-118+dfsg1/buf.cpp:120: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).
    slen = strlen() + 1;
data/powder-118+dfsg1/buf.cpp:194: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).
	myBuffer = new BUF_int(text, ::strlen(text)+1);
data/powder-118+dfsg1/buf.cpp:224: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).
	char	*text = new char [::strlen(src)+1];
data/powder-118+dfsg1/buf.cpp:231: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).
BUF::strlen() const
data/powder-118+dfsg1/buf.cpp:236:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    return myBuffer->strlen();
data/powder-118+dfsg1/buf.cpp:271: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).
    mylen = strlen();
data/powder-118+dfsg1/buf.cpp:272: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).
    srclen = ::strlen(src);
data/powder-118+dfsg1/buf.cpp:316: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).
    len = strlen();
data/powder-118+dfsg1/buf.cpp:380: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).
		result = strlen();
data/powder-118+dfsg1/buf.cpp:468:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    len = myBuffer->strlen() + 1;
data/powder-118+dfsg1/buf.h:72: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).
    int		strlen() const;
data/powder-118+dfsg1/creature.cpp:4509:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			deathlist[rand_choice(strlen(deathlist))]].msg;
data/powder-118+dfsg1/creature.cpp:8976:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/creature.cpp:8978:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/creature.cpp:9042:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 16);
data/powder-118+dfsg1/creature.cpp:9044:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/creature.cpp:9047:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 16);
data/powder-118+dfsg1/creature.cpp:9050:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 16);
data/powder-118+dfsg1/creature.cpp:9052:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/creature.cpp:9055:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 16);
data/powder-118+dfsg1/creature.cpp:9058:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 16);
data/powder-118+dfsg1/gfxengine.cpp:2226:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		    gfx_printtext(x+strlen(entry), j, SYMBOLSTRING_LEFT);
data/powder-118+dfsg1/gfxengine.cpp:2579: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).
    width = strlen(prompt);
data/powder-118+dfsg1/gfxengine.cpp:2783: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(curtext) >= 30 * (18 - 4))
data/powder-118+dfsg1/gfxengine.cpp:2833:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    dstlen = strlen(dst);
data/powder-118+dfsg1/gfxengine.cpp:2964:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    dstlen = strlen(dst);
data/powder-118+dfsg1/gfxengine.cpp:2971:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    dstlen = strlen(dst);
data/powder-118+dfsg1/grammar.cpp:87: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).
	noun = tmp + strlen(tmp) - 1;
data/powder-118+dfsg1/grammar.cpp:197:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    size_t		 nounlen = strlen(noun);
data/powder-118+dfsg1/grammar.cpp:659:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    size_t		 verblen = strlen(verb);
data/powder-118+dfsg1/item.cpp:4678:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/main.cpp:1638:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	gfx_printtext(30 - strlen(get_glb_author()), 19,
data/powder-118+dfsg1/main.cpp:2058:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/main.cpp:2061:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/main.cpp:2064:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/main.cpp:2068:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(totaltime, 32);
data/powder-118+dfsg1/main.cpp:5376:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			char *mi = new char[strlen(m[j])+10];
data/powder-118+dfsg1/map.cpp:3521:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 32);
data/powder-118+dfsg1/map.cpp:3525:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	is.read(val, 8);
data/powder-118+dfsg1/map.cpp:3527:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	is.read(val, 8);
data/powder-118+dfsg1/map.cpp:3708:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/msg.cpp:170:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    dstlen = strlen(dst);
data/powder-118+dfsg1/piety.cpp:109:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	is.read(val, 16);
data/powder-118+dfsg1/piety.cpp:111:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	is.read(val, 16);
data/powder-118+dfsg1/piety.cpp:115:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/piety.cpp:118:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/piety.cpp:121:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/piety.cpp:124:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/piety.cpp:126:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(val, 8);
data/powder-118+dfsg1/piety.cpp:1584:6:  [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(menu[god], " ");
data/powder-118+dfsg1/piety.cpp:1587:6:  [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(menu[god], "*");
data/powder-118+dfsg1/piety.cpp:1589:6:  [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(menu[god], "+");
data/powder-118+dfsg1/port/android/powder/jni/powder-jni.cpp:176:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(glbInputData.myText, localtext, glbInputData.myMaxLen);
data/powder-118+dfsg1/port/ds/hamfake.cpp:727: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).
    buf = new char[strlen(path) + strlen(glbAbsoluteDataPath) + 5];
data/powder-118+dfsg1/port/ds/hamfake.cpp:727:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    buf = new char[strlen(path) + strlen(glbAbsoluteDataPath) + 5];
data/powder-118+dfsg1/rand.cpp:31:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void	 read();
data/powder-118+dfsg1/rand.cpp:41:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
RAND_STATE::read()
data/powder-118+dfsg1/rand.cpp:63:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    state->read();
data/powder-118+dfsg1/rand.cpp:634:36:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		text[pos++] = vowels[rand_choice(strlen(vowels))];
data/powder-118+dfsg1/rand.cpp:639: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).
		text[pos++] = frictive[rand_choice(strlen(frictive))];
data/powder-118+dfsg1/rand.cpp:642:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		text[pos++] = plosive[rand_choice(strlen(plosive))];
data/powder-118+dfsg1/rand.cpp:645:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		text[pos++] = weird[rand_choice(strlen(weird))];
data/powder-118+dfsg1/speed.cpp:163:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(glbGameMoves, 32);
data/powder-118+dfsg1/speed.cpp:164:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(glbHeartbeatCount, 32);
data/powder-118+dfsg1/sramstream.cpp:160:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
SRAMSTREAM::read(int &val, int bits)
data/powder-118+dfsg1/sramstream.h:62:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool		read(int &val, int bits);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:43:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char *) c, 2);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:84:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read(head.id, 2);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:122:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    is.read((char *) &blue, 1);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:123:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    is.read((char *) &green, 1);
data/powder-118+dfsg1/support/bmp2c/bmp2c.cpp:124:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    is.read((char *) &red, 1);
data/powder-118+dfsg1/support/builddpdf/dpdf.cpp:502:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char *) &myMin, sizeof(int));
data/powder-118+dfsg1/support/builddpdf/dpdf.cpp:503:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char *) &myMax, sizeof(int));
data/powder-118+dfsg1/support/builddpdf/dpdf.cpp:507:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	is.read((char *) &myProb[i-myMin], sizeof(double));
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:130: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).
    linelen = strlen(text);
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:153:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	newlast = new char[linelen + strlen(myLastLine) + 5];
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:155: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(newlast))
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:157:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    lastchar = newlast[strlen(newlast)-1];
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:166:3:  [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(newlast, " ");
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:442: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).
    headername = new char[strlen(argv[1]) + 10];
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:443:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    cppname = new char[strlen(argv[1]) + 10];
data/powder-118+dfsg1/support/encyclopedia2c/encyclopedia2c.cpp:561: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(keyname, "_");
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:144:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	is.read(&c, 1);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:195:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	is.read(&c, 1);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:202:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    is.read(&c, 1);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:598:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(output, "\"");
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:615:5:  [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(output, "\"");
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:784:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		    total = (char *) malloc(strlen(item->myValue) + strlen(varvalue) + 3);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:784:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		    total = (char *) malloc(strlen(item->myValue) + strlen(varvalue) + 3);
data/powder-118+dfsg1/support/enummaker/enummaker.cpp:786:7:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
		    strcat(total, " ");
data/powder-118+dfsg1/support/map2c/map2c.cpp:106: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(line) != glbWidth + 2)
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:121:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char *) &head, sizeof(BMPHEAD));
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:140:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char *) &filepalette, sizeof(RGBQUAD) * 256);
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:159:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char *)result, size);
data/powder-118+dfsg1/support/splicebmp/splicebmp.cpp:307:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char *)powdergba, powderlen);

ANALYSIS SUMMARY:

Hits = 729
Lines analyzed = 77006 in approximately 1.36 seconds (56698 lines/second)
Physical Source Lines of Code (SLOC) = 55451
Hits@level = [0] 126 [1] 102 [2] 193 [3]   6 [4] 428 [5]   0
Hits@level+ = [0+] 855 [1+] 729 [2+] 627 [3+] 434 [4+] 428 [5+]   0
Hits/KSLOC@level+ = [0+] 15.419 [1+] 13.1467 [2+] 11.3073 [3+] 7.82673 [4+] 7.71853 [5+]   0
Dot directories skipped = 2 (--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.