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/allegro5-5.2.6.0/demos/cosmic_protector/src/Input.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/LargeAsteroid.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/ResourceManager.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/MediumAsteroid.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/sound.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Resource.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Asteroid.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/logic.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Explosion.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/collision.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/StreamResource.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/BitmapResource.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/ButtonWidget.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/wave.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/render.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/joypad_dummy.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Player.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/SmallBullet.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/SmallAsteroid.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/LargeSlowBullet.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/DisplayResource.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/PowerUp.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Debug.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/cosmic_protector.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Entity.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/SampleResource.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Bullet.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/UFO.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/Game.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/LargeBullet.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/src/FontResource.cpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Explosion.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/PowerUp.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Wave.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/logic.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/cosmic_protector_objc.h
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Input.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/gui.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/SampleResource.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/UFO.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Bullet.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/DisplayResource.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/StreamResource.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Asteroid.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/LargeSlowBullet.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Entity.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/SmallAsteroid.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/joypad_handler.h
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/sound.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Resource.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Widget.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Player.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Game.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/render.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/MediumAsteroid.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/BitmapResource.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/FontResource.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/ResourceManager.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Debug.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/collision.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/SmallBullet.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/ButtonWidget.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/Weapon.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/cosmic_protector.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/joypad_c.h
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/LargeBullet.hpp
Examining data/allegro5-5.2.6.0/demos/cosmic_protector/include/LargeAsteroid.hpp
Examining data/allegro5-5.2.6.0/demos/speed/sound.c
Examining data/allegro5-5.2.6.0/demos/speed/message.c
Examining data/allegro5-5.2.6.0/demos/speed/main.c
Examining data/allegro5-5.2.6.0/demos/speed/hiscore.c
Examining data/allegro5-5.2.6.0/demos/speed/explode.c
Examining data/allegro5-5.2.6.0/demos/speed/a4_aux.c
Examining data/allegro5-5.2.6.0/demos/speed/player.c
Examining data/allegro5-5.2.6.0/demos/speed/speed.h
Examining data/allegro5-5.2.6.0/demos/speed/a4_aux.h
Examining data/allegro5-5.2.6.0/demos/speed/bullets.c
Examining data/allegro5-5.2.6.0/demos/speed/badguys.c
Examining data/allegro5-5.2.6.0/demos/speed/title.c
Examining data/allegro5-5.2.6.0/demos/speed/view.c
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_main.c
Examining data/allegro5-5.2.6.0/demos/skater/src/fps.h
Examining data/allegro5-5.2.6.0/demos/skater/src/transition.h
Examining data/allegro5-5.2.6.0/demos/skater/src/physics.c
Examining data/allegro5-5.2.6.0/demos/skater/src/level_file.h
Examining data/allegro5-5.2.6.0/demos/skater/src/keyboard.c
Examining data/allegro5-5.2.6.0/demos/skater/src/quadtree.c
Examining data/allegro5-5.2.6.0/demos/skater/src/framework.h
Examining data/allegro5-5.2.6.0/demos/skater/src/gamepad.c
Examining data/allegro5-5.2.6.0/demos/skater/src/token.h
Examining data/allegro5-5.2.6.0/demos/skater/src/level_alloc.h
Examining data/allegro5-5.2.6.0/demos/skater/src/gamestate.h
Examining data/allegro5-5.2.6.0/demos/skater/src/music.h
Examining data/allegro5-5.2.6.0/demos/skater/src/intro.c
Examining data/allegro5-5.2.6.0/demos/skater/src/level_alloc.c
Examining data/allegro5-5.2.6.0/demos/skater/src/fps.c
Examining data/allegro5-5.2.6.0/demos/skater/src/anim.h
Examining data/allegro5-5.2.6.0/demos/skater/src/background_scroller.c
Examining data/allegro5-5.2.6.0/demos/skater/src/defines.h
Examining data/allegro5-5.2.6.0/demos/skater/src/game.c
Examining data/allegro5-5.2.6.0/demos/skater/src/mouse.h
Examining data/allegro5-5.2.6.0/demos/skater/src/screenshot.c
Examining data/allegro5-5.2.6.0/demos/skater/src/anim.c
Examining data/allegro5-5.2.6.0/demos/skater/src/skater.c
Examining data/allegro5-5.2.6.0/demos/skater/src/game.h
Examining data/allegro5-5.2.6.0/demos/skater/src/token.c
Examining data/allegro5-5.2.6.0/demos/skater/src/mouse.c
Examining data/allegro5-5.2.6.0/demos/skater/src/demodata.h
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_controls.c
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_graphics.c
Examining data/allegro5-5.2.6.0/demos/skater/src/vcontroller.h
Examining data/allegro5-5.2.6.0/demos/skater/src/menus.h
Examining data/allegro5-5.2.6.0/demos/skater/src/physics.h
Examining data/allegro5-5.2.6.0/demos/skater/src/music.c
Examining data/allegro5-5.2.6.0/demos/skater/src/background_scroller.h
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_sound.c
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_success.c
Examining data/allegro5-5.2.6.0/demos/skater/src/quadtree.h
Examining data/allegro5-5.2.6.0/demos/skater/src/global.c
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_about.c
Examining data/allegro5-5.2.6.0/demos/skater/src/global.h
Examining data/allegro5-5.2.6.0/demos/skater/src/gamepad.h
Examining data/allegro5-5.2.6.0/demos/skater/src/transition.c
Examining data/allegro5-5.2.6.0/demos/skater/src/vcontroller.c
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_misc.c
Examining data/allegro5-5.2.6.0/demos/skater/src/keyboard.h
Examining data/allegro5-5.2.6.0/demos/skater/src/menu.c
Examining data/allegro5-5.2.6.0/demos/skater/src/credits.h
Examining data/allegro5-5.2.6.0/demos/skater/src/screenshot.h
Examining data/allegro5-5.2.6.0/demos/skater/src/level_state.c
Examining data/allegro5-5.2.6.0/demos/skater/src/menu.h
Examining data/allegro5-5.2.6.0/demos/skater/src/credits.c
Examining data/allegro5-5.2.6.0/demos/skater/src/framework.c
Examining data/allegro5-5.2.6.0/demos/skater/src/level_file.c
Examining data/allegro5-5.2.6.0/demos/skater/src/menu_options.c
Examining data/allegro5-5.2.6.0/demos/skater/src/level.h
Examining data/allegro5-5.2.6.0/demos/skater/src/level.c
Examining data/allegro5-5.2.6.0/tests/test_driver.c
Examining data/allegro5-5.2.6.0/src/keybdnu.c
Examining data/allegro5-5.2.6.0/src/android/android_display.c
Examining data/allegro5-5.2.6.0/src/android/android_touch.c
Examining data/allegro5-5.2.6.0/src/android/android_clipboard.c
Examining data/allegro5-5.2.6.0/src/android/android_system.c
Examining data/allegro5-5.2.6.0/src/android/android_joystick.c
Examining data/allegro5-5.2.6.0/src/android/android_sensors.c
Examining data/allegro5-5.2.6.0/src/android/android_input_stream.c
Examining data/allegro5-5.2.6.0/src/android/android_image.c
Examining data/allegro5-5.2.6.0/src/android/android_keyboard.c
Examining data/allegro5-5.2.6.0/src/android/android_apk_file.c
Examining data/allegro5-5.2.6.0/src/android/android_apk_fs.c
Examining data/allegro5-5.2.6.0/src/android/jni_helpers.c
Examining data/allegro5-5.2.6.0/src/android/android_mouse.c
Examining data/allegro5-5.2.6.0/src/file.c
Examining data/allegro5-5.2.6.0/src/mouse_cursor.c
Examining data/allegro5-5.2.6.0/src/display.c
Examining data/allegro5-5.2.6.0/src/bitmap.c
Examining data/allegro5-5.2.6.0/src/fshook_stdio.c
Examining data/allegro5-5.2.6.0/src/bitmap_type.c
Examining data/allegro5-5.2.6.0/src/bitmap_lock.c
Examining data/allegro5-5.2.6.0/src/threads.c
Examining data/allegro5-5.2.6.0/src/cpu.c
Examining data/allegro5-5.2.6.0/src/file_stdio.c
Examining data/allegro5-5.2.6.0/src/events.c
Examining data/allegro5-5.2.6.0/src/path.c
Examining data/allegro5-5.2.6.0/src/exitfunc.c
Examining data/allegro5-5.2.6.0/src/haptic.c
Examining data/allegro5-5.2.6.0/src/gp2xwiz/wiz_joystick.c
Examining data/allegro5-5.2.6.0/src/gp2xwiz/wiz_display_fb.c
Examining data/allegro5-5.2.6.0/src/gp2xwiz/wiz_system.c
Examining data/allegro5-5.2.6.0/src/gp2xwiz/wiz_display_opengl.c
Examining data/allegro5-5.2.6.0/src/file_slice.c
Examining data/allegro5-5.2.6.0/src/memblit.c
Examining data/allegro5-5.2.6.0/src/fshook.c
Examining data/allegro5-5.2.6.0/src/blenders.c
Examining data/allegro5-5.2.6.0/src/tri_soft.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_touch.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_event_hack.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_time.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_mouse.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_system.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_keyboard.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_thread.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_display.c
Examining data/allegro5-5.2.6.0/src/sdl/sdl_joystick.c
Examining data/allegro5-5.2.6.0/src/libc.c
Examining data/allegro5-5.2.6.0/src/tls.c
Examining data/allegro5-5.2.6.0/src/inline.c
Examining data/allegro5-5.2.6.0/src/convert.c
Examining data/allegro5-5.2.6.0/src/mousenu.c
Examining data/allegro5-5.2.6.0/src/utf8.c
Examining data/allegro5-5.2.6.0/src/allegro.c
Examining data/allegro5-5.2.6.0/src/display_settings.c
Examining data/allegro5-5.2.6.0/src/bitmap_io.c
Examining data/allegro5-5.2.6.0/src/clipboard.c
Examining data/allegro5-5.2.6.0/src/drawing.c
Examining data/allegro5-5.2.6.0/src/joynu.c
Examining data/allegro5-5.2.6.0/src/math.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_render_state.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_shader.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_display.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_bitmap.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_draw.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_lock_es.c
Examining data/allegro5-5.2.6.0/src/opengl/extensions.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_helpers.h
Examining data/allegro5-5.2.6.0/src/opengl/ogl_lock.c
Examining data/allegro5-5.2.6.0/src/opengl/ogl_fbo.c
Examining data/allegro5-5.2.6.0/src/fullscreen_mode.c
Examining data/allegro5-5.2.6.0/src/x/xmousenu.c
Examining data/allegro5-5.2.6.0/src/x/xclipboard.c
Examining data/allegro5-5.2.6.0/src/x/xwindow.c
Examining data/allegro5-5.2.6.0/src/x/xtouch.c
Examining data/allegro5-5.2.6.0/src/x/xkeyboard.c
Examining data/allegro5-5.2.6.0/src/x/xsystem.c
Examining data/allegro5-5.2.6.0/src/x/xfullscreen.c
Examining data/allegro5-5.2.6.0/src/x/xevents.c
Examining data/allegro5-5.2.6.0/src/x/xdisplay.c
Examining data/allegro5-5.2.6.0/src/x/xcursor.c
Examining data/allegro5-5.2.6.0/src/x/xicon.h
Examining data/allegro5-5.2.6.0/src/x/xrandr.c
Examining data/allegro5-5.2.6.0/src/x/xglx_config.c
Examining data/allegro5-5.2.6.0/src/pixels.c
Examining data/allegro5-5.2.6.0/src/touch_input.c
Examining data/allegro5-5.2.6.0/src/dtor.c
Examining data/allegro5-5.2.6.0/src/memory.c
Examining data/allegro5-5.2.6.0/src/timernu.c
Examining data/allegro5-5.2.6.0/src/raspberrypi/picursor.h
Examining data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c
Examining data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c
Examining data/allegro5-5.2.6.0/src/bitmap_draw.c
Examining data/allegro5-5.2.6.0/src/memdraw.c
Examining data/allegro5-5.2.6.0/src/linux/lmemory.c
Examining data/allegro5-5.2.6.0/src/linux/lmsedrv.c
Examining data/allegro5-5.2.6.0/src/linux/lsystem.c
Examining data/allegro5-5.2.6.0/src/linux/lconsole.c
Examining data/allegro5-5.2.6.0/src/linux/lmouse.c
Examining data/allegro5-5.2.6.0/src/linux/lasyncio.c
Examining data/allegro5-5.2.6.0/src/linux/lmseps2.c
Examining data/allegro5-5.2.6.0/src/linux/lstddrv.c
Examining data/allegro5-5.2.6.0/src/linux/lmsems.c
Examining data/allegro5-5.2.6.0/src/linux/lmseev.c
Examining data/allegro5-5.2.6.0/src/linux/lmsegpmd.c
Examining data/allegro5-5.2.6.0/src/linux/lhaptic.c
Examining data/allegro5-5.2.6.0/src/linux/vtswitch.c
Examining data/allegro5-5.2.6.0/src/linux/lkeybdnu.c
Examining data/allegro5-5.2.6.0/src/linux/ljoynu.c
Examining data/allegro5-5.2.6.0/src/win/wwindow.c
Examining data/allegro5-5.2.6.0/src/win/d3d_bmp.cpp
Examining data/allegro5-5.2.6.0/src/win/whapxi.c
Examining data/allegro5-5.2.6.0/src/win/wgl_disp.c
Examining data/allegro5-5.2.6.0/src/win/d3d_display_formats.cpp
Examining data/allegro5-5.2.6.0/src/win/whapall.c
Examining data/allegro5-5.2.6.0/src/win/wclipboard.c
Examining data/allegro5-5.2.6.0/src/win/wsystem.c
Examining data/allegro5-5.2.6.0/src/win/wjoydrv.c
Examining data/allegro5-5.2.6.0/src/win/wtime.c
Examining data/allegro5-5.2.6.0/src/win/wthread.c
Examining data/allegro5-5.2.6.0/src/win/wunicode.c
Examining data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp
Examining data/allegro5-5.2.6.0/src/win/d3d_d3dx9.cpp
Examining data/allegro5-5.2.6.0/src/win/whaptic.cpp
Examining data/allegro5-5.2.6.0/src/win/d3d_disp.cpp
Examining data/allegro5-5.2.6.0/src/win/d3d_shader.cpp
Examining data/allegro5-5.2.6.0/src/win/wgl.h
Examining data/allegro5-5.2.6.0/src/win/wkeyboard.c
Examining data/allegro5-5.2.6.0/src/win/wtouch_input.c
Examining data/allegro5-5.2.6.0/src/win/whapdrv.c
Examining data/allegro5-5.2.6.0/src/win/d3d_render_state.cpp
Examining data/allegro5-5.2.6.0/src/win/d3d.h
Examining data/allegro5-5.2.6.0/src/win/wmouse.c
Examining data/allegro5-5.2.6.0/src/win/wxthread.c
Examining data/allegro5-5.2.6.0/src/win/wjoyxi.c
Examining data/allegro5-5.2.6.0/src/win/wmcursor.c
Examining data/allegro5-5.2.6.0/src/win/wjoyall.c
Examining data/allegro5-5.2.6.0/src/iphone/allegroAppDelegate.h
Examining data/allegro5-5.2.6.0/src/iphone/EAGLView.h
Examining data/allegro5-5.2.6.0/src/iphone/iphone.h
Examining data/allegro5-5.2.6.0/src/iphone/ViewController.h
Examining data/allegro5-5.2.6.0/src/iphone/iphone_system.c
Examining data/allegro5-5.2.6.0/src/iphone/iphone_keyboard.c
Examining data/allegro5-5.2.6.0/src/monitor.c
Examining data/allegro5-5.2.6.0/src/macosx/osxgl.h
Examining data/allegro5-5.2.6.0/src/shader.c
Examining data/allegro5-5.2.6.0/src/misc/bstrlib.c
Examining data/allegro5-5.2.6.0/src/misc/list.c
Examining data/allegro5-5.2.6.0/src/misc/vector.c
Examining data/allegro5-5.2.6.0/src/misc/aatree.c
Examining data/allegro5-5.2.6.0/src/bitmap_pixel.c
Examining data/allegro5-5.2.6.0/src/config.c
Examining data/allegro5-5.2.6.0/src/unix/udrvlist.c
Examining data/allegro5-5.2.6.0/src/unix/utime.c
Examining data/allegro5-5.2.6.0/src/unix/umouse.c
Examining data/allegro5-5.2.6.0/src/unix/uhapdrv.c
Examining data/allegro5-5.2.6.0/src/unix/uxthread.c
Examining data/allegro5-5.2.6.0/src/unix/ufdwatch.c
Examining data/allegro5-5.2.6.0/src/unix/upath.c
Examining data/allegro5-5.2.6.0/src/unix/ujoydrv.c
Examining data/allegro5-5.2.6.0/src/unix/ukeybd.c
Examining data/allegro5-5.2.6.0/src/unix/ugfxdrv.c
Examining data/allegro5-5.2.6.0/src/evtsrc.c
Examining data/allegro5-5.2.6.0/src/transformations.c
Examining data/allegro5-5.2.6.0/src/system.c
Examining data/allegro5-5.2.6.0/src/debug.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_xgtk.h
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_menu.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/textlog.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_textlog.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_thread.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_filesel.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/win_dialog.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_dialog.h
Examining data/allegro5-5.2.6.0/addons/native_dialog/allegro5/allegro_native_dialog.h
Examining data/allegro5-5.2.6.0/addons/native_dialog/allegro5/internal/aintern_native_dialog.h
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_xgtk.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/dialog.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/menu.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_msgbox.c
Examining data/allegro5-5.2.6.0/addons/native_dialog/gtk_dialog.c
Examining data/allegro5-5.2.6.0/addons/font/font.c
Examining data/allegro5-5.2.6.0/addons/font/xml.c
Examining data/allegro5-5.2.6.0/addons/font/fontbmp.c
Examining data/allegro5-5.2.6.0/addons/font/bmfont.c
Examining data/allegro5-5.2.6.0/addons/font/xml.h
Examining data/allegro5-5.2.6.0/addons/font/font.h
Examining data/allegro5-5.2.6.0/addons/font/stdfont.c
Examining data/allegro5-5.2.6.0/addons/font/text.c
Examining data/allegro5-5.2.6.0/addons/font/allegro5/allegro_font.h
Examining data/allegro5-5.2.6.0/addons/font/allegro5/internal/aintern_font.h
Examining data/allegro5-5.2.6.0/addons/audio/kcm_stream.c
Examining data/allegro5-5.2.6.0/addons/audio/openal.c
Examining data/allegro5-5.2.6.0/addons/audio/kcm_mixer.c
Examining data/allegro5-5.2.6.0/addons/audio/audio_io.c
Examining data/allegro5-5.2.6.0/addons/audio/alsa.c
Examining data/allegro5-5.2.6.0/addons/audio/allegro5/allegro_audio.h
Examining data/allegro5-5.2.6.0/addons/audio/allegro5/internal/aintern_audio.h
Examining data/allegro5-5.2.6.0/addons/audio/pulseaudio.c
Examining data/allegro5-5.2.6.0/addons/audio/opensl.c
Examining data/allegro5-5.2.6.0/addons/audio/kcm_sample.c
Examining data/allegro5-5.2.6.0/addons/audio/recorder.c
Examining data/allegro5-5.2.6.0/addons/audio/kcm_dtor.c
Examining data/allegro5-5.2.6.0/addons/audio/dsound.cpp
Examining data/allegro5-5.2.6.0/addons/audio/oss.c
Examining data/allegro5-5.2.6.0/addons/audio/sdl_audio.c
Examining data/allegro5-5.2.6.0/addons/audio/kcm_voice.c
Examining data/allegro5-5.2.6.0/addons/audio/kcm_instance.c
Examining data/allegro5-5.2.6.0/addons/audio/audio.c
Examining data/allegro5-5.2.6.0/addons/image/identify.c
Examining data/allegro5-5.2.6.0/addons/image/freeimage.c
Examining data/allegro5-5.2.6.0/addons/image/iio.h
Examining data/allegro5-5.2.6.0/addons/image/tga.c
Examining data/allegro5-5.2.6.0/addons/image/bmp.c
Examining data/allegro5-5.2.6.0/addons/image/gdiplus.cpp
Examining data/allegro5-5.2.6.0/addons/image/webp.c
Examining data/allegro5-5.2.6.0/addons/image/allegro5/allegro_image.h
Examining data/allegro5-5.2.6.0/addons/image/allegro5/internal/aintern_image.h
Examining data/allegro5-5.2.6.0/addons/image/pcx.c
Examining data/allegro5-5.2.6.0/addons/image/jpg.c
Examining data/allegro5-5.2.6.0/addons/image/dds.c
Examining data/allegro5-5.2.6.0/addons/image/android.c
Examining data/allegro5-5.2.6.0/addons/image/png.c
Examining data/allegro5-5.2.6.0/addons/image/iio.c
Examining data/allegro5-5.2.6.0/addons/primitives/polygon.c
Examining data/allegro5-5.2.6.0/addons/primitives/point_soft.c
Examining data/allegro5-5.2.6.0/addons/primitives/primitives.c
Examining data/allegro5-5.2.6.0/addons/primitives/prim_soft.c
Examining data/allegro5-5.2.6.0/addons/primitives/prim_util.c
Examining data/allegro5-5.2.6.0/addons/primitives/nshader.cpp
Examining data/allegro5-5.2.6.0/addons/primitives/allegro5/allegro_primitives.h
Examining data/allegro5-5.2.6.0/addons/primitives/allegro5/internal/aintern_prim.h
Examining data/allegro5-5.2.6.0/addons/primitives/allegro5/internal/aintern_prim_opengl.h
Examining data/allegro5-5.2.6.0/addons/primitives/allegro5/internal/aintern_prim_directx.h
Examining data/allegro5-5.2.6.0/addons/primitives/allegro5/internal/aintern_prim_soft.h
Examining data/allegro5-5.2.6.0/addons/primitives/prim_opengl.c
Examining data/allegro5-5.2.6.0/addons/primitives/triangulator.c
Examining data/allegro5-5.2.6.0/addons/primitives/line_soft.c
Examining data/allegro5-5.2.6.0/addons/primitives/high_primitives.c
Examining data/allegro5-5.2.6.0/addons/primitives/prim_directx.cpp
Examining data/allegro5-5.2.6.0/addons/primitives/directx_shaders.cpp
Examining data/allegro5-5.2.6.0/addons/primitives/polyline.c
Examining data/allegro5-5.2.6.0/addons/color/allegro5/allegro_color.h
Examining data/allegro5-5.2.6.0/addons/color/color.c
Examining data/allegro5-5.2.6.0/addons/memfile/memfile.c
Examining data/allegro5-5.2.6.0/addons/memfile/allegro5/allegro_memfile.h
Examining data/allegro5-5.2.6.0/addons/video/ogv.c
Examining data/allegro5-5.2.6.0/addons/video/video.c
Examining data/allegro5-5.2.6.0/addons/video/allegro5/internal/aintern_video.h
Examining data/allegro5-5.2.6.0/addons/video/allegro5/allegro_video.h
Examining data/allegro5-5.2.6.0/addons/acodec/modaudio.c
Examining data/allegro5-5.2.6.0/addons/acodec/wav.c
Examining data/allegro5-5.2.6.0/addons/acodec/ogg.c
Examining data/allegro5-5.2.6.0/addons/acodec/flac.c
Examining data/allegro5-5.2.6.0/addons/acodec/acodec.c
Examining data/allegro5-5.2.6.0/addons/acodec/opus.c
Examining data/allegro5-5.2.6.0/addons/acodec/mp3.c
Examining data/allegro5-5.2.6.0/addons/acodec/acodec.h
Examining data/allegro5-5.2.6.0/addons/acodec/helper.c
Examining data/allegro5-5.2.6.0/addons/acodec/voc.c
Examining data/allegro5-5.2.6.0/addons/acodec/allegro5/allegro_acodec.h
Examining data/allegro5-5.2.6.0/addons/acodec/helper.h
Examining data/allegro5-5.2.6.0/addons/physfs/a5_physfs_dir.c
Examining data/allegro5-5.2.6.0/addons/physfs/allegro_physfs_intern.h
Examining data/allegro5-5.2.6.0/addons/physfs/allegro5/allegro_physfs.h
Examining data/allegro5-5.2.6.0/addons/physfs/a5_physfs.c
Examining data/allegro5-5.2.6.0/addons/main/generic_main.c
Examining data/allegro5-5.2.6.0/addons/ttf/allegro5/allegro_ttf.h
Examining data/allegro5-5.2.6.0/addons/ttf/ttf.c
Examining data/allegro5-5.2.6.0/examples/ex_synth.cpp
Examining data/allegro5-5.2.6.0/examples/enet_common.h
Examining data/allegro5-5.2.6.0/examples/ex_projection2.c
Examining data/allegro5-5.2.6.0/examples/ex_display_options.c
Examining data/allegro5-5.2.6.0/examples/ex_lines.c
Examining data/allegro5-5.2.6.0/examples/ex_reparent.c
Examining data/allegro5-5.2.6.0/examples/ex_resample_test.c
Examining data/allegro5-5.2.6.0/examples/ex_dualies.c
Examining data/allegro5-5.2.6.0/examples/ex_convert.c
Examining data/allegro5-5.2.6.0/examples/ex_depth_mask.c
Examining data/allegro5-5.2.6.0/examples/ex_winfull.c
Examining data/allegro5-5.2.6.0/examples/ex_gldepth.c
Examining data/allegro5-5.2.6.0/examples/ex_projection.c
Examining data/allegro5-5.2.6.0/examples/ex_keyboard_focus.c
Examining data/allegro5-5.2.6.0/examples/ex_premulalpha.c
Examining data/allegro5-5.2.6.0/examples/ex_path_test.c
Examining data/allegro5-5.2.6.0/examples/ex_shader_multitex.c
Examining data/allegro5-5.2.6.0/examples/ex_shader_target.c
Examining data/allegro5-5.2.6.0/examples/common.c
Examining data/allegro5-5.2.6.0/examples/ex_pixelformat.cpp
Examining data/allegro5-5.2.6.0/examples/ex_icon.c
Examining data/allegro5-5.2.6.0/examples/ex_joystick_events.c
Examining data/allegro5-5.2.6.0/examples/ex_stream_seek.c
Examining data/allegro5-5.2.6.0/examples/ex_color2.c
Examining data/allegro5-5.2.6.0/examples/ex_haptic2.cpp
Examining data/allegro5-5.2.6.0/examples/ex_opengl.c
Examining data/allegro5-5.2.6.0/examples/ex_saw.c
Examining data/allegro5-5.2.6.0/examples/ex_menu.c
Examining data/allegro5-5.2.6.0/examples/ex_draw.c
Examining data/allegro5-5.2.6.0/examples/ex_mouse_warp.c
Examining data/allegro5-5.2.6.0/examples/ex_prim_shader.c
Examining data/allegro5-5.2.6.0/examples/ex_vsync.c
Examining data/allegro5-5.2.6.0/examples/ex_blend_test.c
Examining data/allegro5-5.2.6.0/examples/ex_blit.c
Examining data/allegro5-5.2.6.0/examples/ex_haptic.c
Examining data/allegro5-5.2.6.0/examples/ex_blend2.cpp
Examining data/allegro5-5.2.6.0/examples/ex_physfs.c
Examining data/allegro5-5.2.6.0/examples/ex_mouse.c
Examining data/allegro5-5.2.6.0/examples/ex_mixer_pp.c
Examining data/allegro5-5.2.6.0/examples/ex_memfile.c
Examining data/allegro5-5.2.6.0/examples/ex_video.c
Examining data/allegro5-5.2.6.0/examples/ex_inject_events.c
Examining data/allegro5-5.2.6.0/examples/ex_mouse_events.c
Examining data/allegro5-5.2.6.0/examples/ex_threads2.c
Examining data/allegro5-5.2.6.0/examples/ex_audio_chain.cpp
Examining data/allegro5-5.2.6.0/examples/ex_clip.c
Examining data/allegro5-5.2.6.0/examples/ex_touch_input.c
Examining data/allegro5-5.2.6.0/examples/ex_get_path.c
Examining data/allegro5-5.2.6.0/examples/ex_expose.c
Examining data/allegro5-5.2.6.0/examples/ex_user_events.c
Examining data/allegro5-5.2.6.0/examples/ex_haiku.c
Examining data/allegro5-5.2.6.0/examples/ex_nodisplay.c
Examining data/allegro5-5.2.6.0/examples/ex_polygon.c
Examining data/allegro5-5.2.6.0/examples/ex_disable_screensaver.c
Examining data/allegro5-5.2.6.0/examples/ex_logo.c
Examining data/allegro5-5.2.6.0/examples/ex_font_justify.cpp
Examining data/allegro5-5.2.6.0/examples/ex_resize2.c
Examining data/allegro5-5.2.6.0/examples/ex_fs_resize.c
Examining data/allegro5-5.2.6.0/examples/ex_audio_timer.c
Examining data/allegro5-5.2.6.0/examples/ex_timer_pause.c
Examining data/allegro5-5.2.6.0/examples/ex_ttf.c
Examining data/allegro5-5.2.6.0/examples/ex_stream_file.c
Examining data/allegro5-5.2.6.0/examples/ex_font.c
Examining data/allegro5-5.2.6.0/examples/ex_mouse_cursor.c
Examining data/allegro5-5.2.6.0/examples/ex_clipboard.c
Examining data/allegro5-5.2.6.0/examples/ex_transform.c
Examining data/allegro5-5.2.6.0/examples/ex_resize.c
Examining data/allegro5-5.2.6.0/examples/ex_blend_bench.c
Examining data/allegro5-5.2.6.0/examples/ex_rotate.c
Examining data/allegro5-5.2.6.0/examples/ex_kcm_direct.c
Examining data/allegro5-5.2.6.0/examples/nihgui.hpp
Examining data/allegro5-5.2.6.0/examples/ex_mouse_focus.c
Examining data/allegro5-5.2.6.0/examples/ex_bitmap.c
Examining data/allegro5-5.2.6.0/examples/ex_display_events.c
Examining data/allegro5-5.2.6.0/examples/ex_config.c
Examining data/allegro5-5.2.6.0/examples/ex_camera.c
Examining data/allegro5-5.2.6.0/examples/ex_vertex_buffer.c
Examining data/allegro5-5.2.6.0/examples/ex_glext.c
Examining data/allegro5-5.2.6.0/examples/ex_record.c
Examining data/allegro5-5.2.6.0/examples/ex_cpu.c
Examining data/allegro5-5.2.6.0/examples/ex_font_multiline.cpp
Examining data/allegro5-5.2.6.0/examples/ex_record_name.c
Examining data/allegro5-5.2.6.0/examples/ex_draw_bitmap.c
Examining data/allegro5-5.2.6.0/examples/ex_palette.c
Examining data/allegro5-5.2.6.0/examples/ex_depth_target.c
Examining data/allegro5-5.2.6.0/examples/ex_noframe.c
Examining data/allegro5-5.2.6.0/examples/ex_ogre3d.cpp
Examining data/allegro5-5.2.6.0/examples/ex_timer.c
Examining data/allegro5-5.2.6.0/examples/ex_shader.cpp
Examining data/allegro5-5.2.6.0/examples/ex_android.c
Examining data/allegro5-5.2.6.0/examples/ex_monitorinfo.c
Examining data/allegro5-5.2.6.0/examples/ex_mixer_chain.c
Examining data/allegro5-5.2.6.0/examples/ex_acodec_multi.c
Examining data/allegro5-5.2.6.0/examples/ex_utf8.c
Examining data/allegro5-5.2.6.0/examples/ex_audio_props.cpp
Examining data/allegro5-5.2.6.0/examples/ex_multisample.c
Examining data/allegro5-5.2.6.0/examples/ex_native_filechooser.c
Examining data/allegro5-5.2.6.0/examples/ex_enet_client.c
Examining data/allegro5-5.2.6.0/examples/ex_multisample_target.c
Examining data/allegro5-5.2.6.0/examples/ex_curl.c
Examining data/allegro5-5.2.6.0/examples/ex_multiwin.c
Examining data/allegro5-5.2.6.0/examples/ex_bitmap_flip.c
Examining data/allegro5-5.2.6.0/examples/nihgui.cpp
Examining data/allegro5-5.2.6.0/examples/ex_compressed.c
Examining data/allegro5-5.2.6.0/examples/ex_drawpixels.c
Examining data/allegro5-5.2.6.0/examples/ex_keyboard_events.c
Examining data/allegro5-5.2.6.0/examples/ex_scale.c
Examining data/allegro5-5.2.6.0/examples/ex_loading_thread.c
Examining data/allegro5-5.2.6.0/examples/ex_audio_simple.c
Examining data/allegro5-5.2.6.0/examples/ex_joystick_hotplugging.c
Examining data/allegro5-5.2.6.0/examples/ex_prim.c
Examining data/allegro5-5.2.6.0/examples/ex_membmp.c
Examining data/allegro5-5.2.6.0/examples/ex_acodec.c
Examining data/allegro5-5.2.6.0/examples/ex_window_title.c
Examining data/allegro5-5.2.6.0/examples/ex_windows.c
Examining data/allegro5-5.2.6.0/examples/ex_blend_target.c
Examining data/allegro5-5.2.6.0/examples/ex_fs_window.c
Examining data/allegro5-5.2.6.0/examples/ex_blend.c
Examining data/allegro5-5.2.6.0/examples/ex_filter.c
Examining data/allegro5-5.2.6.0/examples/ex_window_maximized.c
Examining data/allegro5-5.2.6.0/examples/ex_color.cpp
Examining data/allegro5-5.2.6.0/examples/ex_lockbitmap.c
Examining data/allegro5-5.2.6.0/examples/ex_dir.c
Examining data/allegro5-5.2.6.0/examples/ex_icon2.c
Examining data/allegro5-5.2.6.0/examples/ex_file.c
Examining data/allegro5-5.2.6.0/examples/ex_subbitmap.c
Examining data/allegro5-5.2.6.0/examples/ex_path.c
Examining data/allegro5-5.2.6.0/examples/ex_timedwait.c
Examining data/allegro5-5.2.6.0/examples/ex_file_slice.c
Examining data/allegro5-5.2.6.0/examples/ex_opengl_pixel_shader.c
Examining data/allegro5-5.2.6.0/examples/ex_bitmap_file.c
Examining data/allegro5-5.2.6.0/examples/ex_d3d.cpp
Examining data/allegro5-5.2.6.0/examples/ex_window_constraints.c
Examining data/allegro5-5.2.6.0/examples/ex_enet_server.c
Examining data/allegro5-5.2.6.0/examples/ex_threads.c
Examining data/allegro5-5.2.6.0/misc/vcvars.c
Examining data/allegro5-5.2.6.0/misc/msvchelp.c
Examining data/allegro5-5.2.6.0/misc/askq.c
Examining data/allegro5-5.2.6.0/misc/Allegro5_iOS/allegro5/internal/aintern_ttf_cfg.h
Examining data/allegro5-5.2.6.0/misc/Allegro5_iOS/allegro5/internal/aintern_image_cfg.h
Examining data/allegro5-5.2.6.0/misc/Allegro5_iOS/allegro5/platform/alplatf.h
Examining data/allegro5-5.2.6.0/misc/install_test.c
Examining data/allegro5-5.2.6.0/docs/scripts/dawk.c
Examining data/allegro5-5.2.6.0/docs/scripts/make_doc.c
Examining data/allegro5-5.2.6.0/docs/scripts/make_single.c
Examining data/allegro5-5.2.6.0/docs/scripts/make_doc.h
Examining data/allegro5-5.2.6.0/docs/scripts/make_protos.c
Examining data/allegro5-5.2.6.0/docs/scripts/dawk.h
Examining data/allegro5-5.2.6.0/docs/scripts/trex.h
Examining data/allegro5-5.2.6.0/docs/scripts/insert_timestamp.c
Examining data/allegro5-5.2.6.0/docs/scripts/make_search_index.c
Examining data/allegro5-5.2.6.0/docs/scripts/aatree.c
Examining data/allegro5-5.2.6.0/docs/scripts/aatree.h
Examining data/allegro5-5.2.6.0/docs/scripts/trex.c
Examining data/allegro5-5.2.6.0/docs/scripts/make_html_refs.c
Examining data/allegro5-5.2.6.0/docs/scripts/make_index.c
Examining data/allegro5-5.2.6.0/docs/scripts/make_man.c
Examining data/allegro5-5.2.6.0/tools/x11/xkeymap.c
Examining data/allegro5-5.2.6.0/tools/x11/xf2pcx.c
Examining data/allegro5-5.2.6.0/tools/win/wfixicon.c
Examining data/allegro5-5.2.6.0/tools/macosx/fixbundle.c
Examining data/allegro5-5.2.6.0/include/allegro5/path.h
Examining data/allegro5-5.2.6.0/include/allegro5/color.h
Examining data/allegro5-5.2.6.0/include/allegro5/bitmap_draw.h
Examining data/allegro5-5.2.6.0/include/allegro5/file.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_osx.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_android.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_iphone.h
Examining data/allegro5-5.2.6.0/include/allegro5/memory.h
Examining data/allegro5-5.2.6.0/include/allegro5/alcompat.h
Examining data/allegro5-5.2.6.0/include/allegro5/bitmap_lock.h
Examining data/allegro5-5.2.6.0/include/allegro5/keycodes.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_x.h
Examining data/allegro5-5.2.6.0/include/allegro5/altime.h
Examining data/allegro5-5.2.6.0/include/allegro5/cpu.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro.h
Examining data/allegro5-5.2.6.0/include/allegro5/mouse.h
Examining data/allegro5-5.2.6.0/include/allegro5/drawing.h
Examining data/allegro5-5.2.6.0/include/allegro5/monitor.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro5.h
Examining data/allegro5-5.2.6.0/include/allegro5/clipboard.h
Examining data/allegro5-5.2.6.0/include/allegro5/haptic.h
Examining data/allegro5-5.2.6.0/include/allegro5/fullscreen_mode.h
Examining data/allegro5-5.2.6.0/include/allegro5/error.h
Examining data/allegro5-5.2.6.0/include/allegro5/bitmap_io.h
Examining data/allegro5-5.2.6.0/include/allegro5/events.h
Examining data/allegro5-5.2.6.0/include/allegro5/threads.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_windows.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/gl_ext.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/gl_ext_defs.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/wgl_ext_defs.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_alias.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_list.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/wgl_ext_api.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_api.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/gl_ext_alias.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/gl_ext_api.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_defs.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/wgl_ext_list.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/gl_ext_list.h
Examining data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/wgl_ext_alias.h
Examining data/allegro5-5.2.6.0/include/allegro5/joystick.h
Examining data/allegro5-5.2.6.0/include/allegro5/timer.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_direct3d.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_file.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_tls.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_opengl.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_events.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xwindow.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_mouse.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_convert.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoyall.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_vector.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_ljoynu.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_atomicops.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_keyboard.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_android.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_direct3d.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_joystick.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_debug.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_blend.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wunicode.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_raspberrypi.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xdisplay.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_bitmap.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xfullscreen.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_haptic.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_aatree.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_thread.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_touch_input.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_transform.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xembed.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_shader.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xglx_config.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_path.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_memdraw.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xsystem.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_pixels.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_float.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_gp2xwiz.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_display.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_system.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/alconfig.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wclipboard.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_dtor.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_x.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_iphone.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/bstrlib.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_exitfunc.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xkeyboard.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xevents.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_osxclipboard.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_timer.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_list.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xmouse.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xclipboard.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_memblit.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xtouch.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_config.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoyxi.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_tri_soft.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_driver.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xcursor.h
Examining data/allegro5-5.2.6.0/include/allegro5/internal/aintern_fshook.h
Examining data/allegro5-5.2.6.0/include/allegro5/shader.h
Examining data/allegro5-5.2.6.0/include/allegro5/fshook.h
Examining data/allegro5-5.2.6.0/include/allegro5/transformations.h
Examining data/allegro5-5.2.6.0/include/allegro5/fmaths.h
Examining data/allegro5-5.2.6.0/include/allegro5/display.h
Examining data/allegro5-5.2.6.0/include/allegro5/touch_input.h
Examining data/allegro5-5.2.6.0/include/allegro5/keyboard.h
Examining data/allegro5-5.2.6.0/include/allegro5/fixed.h
Examining data/allegro5-5.2.6.0/include/allegro5/base.h
Examining data/allegro5-5.2.6.0/include/allegro5/tls.h
Examining data/allegro5-5.2.6.0/include/allegro5/blender.h
Examining data/allegro5-5.2.6.0/include/allegro5/render_state.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintwthr.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alosx.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintosx.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/allegro_internal_sdl.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/almngw32.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alwizcfg.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aldmc.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/almsvc.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alunix.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alraspberrypicfg.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintlnx.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alraspberrypi.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aliphone.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/astdbool.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alwatcom.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alwiz.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintwin.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/allegro_sdl_thread.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/allegro_sdl_config.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/astdint.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintunix.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aliphonecfg.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintuthr.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintiphone.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alwin.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/albcc32.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alucfg.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alandroid.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintwiz.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintxglx.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintraspberrypi.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alosxcfg.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/alandroidcfg.h
Examining data/allegro5-5.2.6.0/include/allegro5/platform/aintandroid.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_opengl.h
Examining data/allegro5-5.2.6.0/include/allegro5/config.h
Examining data/allegro5-5.2.6.0/include/allegro5/bitmap.h
Examining data/allegro5-5.2.6.0/include/allegro5/allegro_iphone_objc.h
Examining data/allegro5-5.2.6.0/include/allegro5/system.h
Examining data/allegro5-5.2.6.0/include/allegro5/utf8.h
Examining data/allegro5-5.2.6.0/include/allegro5/debug.h
Examining data/allegro5-5.2.6.0/include/allegro5/mouse_cursor.h

FINAL RESULTS:

data/allegro5-5.2.6.0/misc/vcvars.c:78:7:  [5] (buffer) gets:
  Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead.
	 if (gets(data)) {
data/allegro5-5.2.6.0/src/unix/upath.c:150:17:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
      int len = readlink(linkname, filename, sizeof(filename) - 1);
data/allegro5-5.2.6.0/src/unix/upath.c:253:13:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
      len = readlink(path_str, buf, sizeof(buf) - 1);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:466:4:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
   chmod(bundle_contents_macos_dir, 0755);
data/allegro5-5.2.6.0/addons/audio/audio_io.c:73: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(ent->ext, ext);
data/allegro5-5.2.6.0/addons/font/allegro5/allegro_font.h:27:119:  [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 ALLEGRO_FONT_PRINTFUNC(type, name, args, a, b) ALLEGRO_FONT_FUNC(type, name, args) __attribute__ ((format (printf, a, b)))
data/allegro5-5.2.6.0/addons/native_dialog/textlog.c:144:7:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
      vprintf(format, args);
data/allegro5-5.2.6.0/addons/primitives/nshader.cpp:53:10:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  return system(("fxc /nologo /Tfx_2_0 /Fc " + dest + " " + source + " > nul").c_str());
data/allegro5-5.2.6.0/addons/primitives/nshader.cpp:58:10:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  return system(("fxc /nologo /O3 /Fo " + dest + " " + source + " /E " + entrypoint + " > nul").c_str());
data/allegro5-5.2.6.0/demos/cosmic_protector/src/Debug.cpp:8:4:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
   vprintf(fmt, ap);
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:8:12:  [4] (format) snprintf:
  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.
   #define snprintf _snprintf
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:8:21:  [4] (format) _snprintf:
  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.
   #define snprintf _snprintf
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:157: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(highScores[j].name, highScores[j-1].name);
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:161: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(highScores[i].name, name);
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:189:16:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
               strcpy(highScores[i].name, v);
data/allegro5-5.2.6.0/demos/cosmic_protector/src/Game.cpp:12:12:  [4] (format) snprintf:
  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.
   #define snprintf     _snprintf
data/allegro5-5.2.6.0/demos/cosmic_protector/src/Game.cpp:12:25:  [4] (format) _snprintf:
  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.
   #define snprintf     _snprintf
data/allegro5-5.2.6.0/demos/cosmic_protector/src/Game.cpp:59:4:  [4] (format) snprintf:
  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.
   snprintf(res, 511, fmt, ap);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:75:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(s, l->text);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:77:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(s, gap);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:78:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(s, eol);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:162:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(l->text, s);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:192: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(title_text, intro_msg);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:196:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(title_text, marker);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:198:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(title_text, sect[i].desc);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:200:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(title_text, marker);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:201:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(title_text, splitter);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:202:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(title_text, sect[i].flat);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:309:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
         strcpy(c->name, p);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:324:16:  [4] (buffer) strcat:
  Does not check 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(c->text, p);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:327:16:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
               strcpy(c->text, p);
data/allegro5-5.2.6.0/demos/skater/src/global.c:166:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(spath, "%s/%s/%s.%s", path, subfolder, name, ext);
data/allegro5-5.2.6.0/demos/skater/src/global.c:360:4:  [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.
   vsnprintf(buf, sizeof(buf), format, ap);
data/allegro5-5.2.6.0/demos/skater/src/global.c:375:4:  [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.
   vsnprintf(buf, sizeof(buf), format, ap);
data/allegro5-5.2.6.0/demos/skater/src/global.c:390:4:  [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.
   vsnprintf(buf, sizeof(buf), format, ap);
data/allegro5-5.2.6.0/demos/skater/src/global.c:404:4:  [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.
   vsnprintf(buf, sizeof(buf), format, ap);
data/allegro5-5.2.6.0/demos/skater/src/global.c:430:4:  [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.
   vsnprintf(buf, sizeof(buf), format, ap);
data/allegro5-5.2.6.0/demos/skater/src/global.h:19:12:  [4] (format) snprintf:
  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.
   #define snprintf  _snprintf
data/allegro5-5.2.6.0/demos/skater/src/global.h:19:22:  [4] (format) _snprintf:
  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.
   #define snprintf  _snprintf
data/allegro5-5.2.6.0/demos/skater/src/global.h:20:12:  [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.
   #define vsnprintf _vsnprintf
data/allegro5-5.2.6.0/demos/speed/a4_aux.c:430:4:  [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.
   vsnprintf(buf, sizeof(buf), fmt, ap);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:148: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(names[j], names[j-1]);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:152: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(names[i], yourname);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:234: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(names[myscore], yourname);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:242: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).
	       strcpy(names[myscore], yourname);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:247: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).
	       strcpy(yourname, names[myscore]);
data/allegro5-5.2.6.0/demos/speed/message.c:55: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(m->text, text);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:180:4:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
   vfprintf(D_STDOUT, format, ap);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:284: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(output, start + 1);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:286: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(output, filename);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:291:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
         strcpy(dot, newext);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:293:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(output, newext);
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:110:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(pandoc_options, argv[i]);
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:114: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).
            strcat(pandoc_options, argv[i]);
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:146:10:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
         strcat(text, newtext);
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:151:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(text, "https://github.com/liballeg/allegro5/blob/%s/%s#L%s",
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:245: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(input_native, input);
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:259:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(cmd, "\"%s\" %s %s %s --to %s --output %s",
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:261:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (system(cmd) != 0) {
data/allegro5-5.2.6.0/docs/scripts/make_man.c:35:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(output_filename, "%s.%s", names[i], SECTION);
data/allegro5-5.2.6.0/docs/scripts/make_search_index.c:32:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
         strcpy(names[i], d_submatch(1));
data/allegro5-5.2.6.0/docs/scripts/make_search_index.c:33:10:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
         strcpy(urls[i], d_submatch(2));
data/allegro5-5.2.6.0/docs/scripts/trex.c:14:18:  [4] (format) wprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define scprintf wprintf
data/allegro5-5.2.6.0/docs/scripts/trex.c:19:18:  [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 scprintf printf
data/allegro5-5.2.6.0/docs/scripts/trex.h:35:21:  [4] (format) wprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define trex_printf wprintf
data/allegro5-5.2.6.0/docs/scripts/trex.h:41:21:  [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 trex_printf printf
data/allegro5-5.2.6.0/examples/common.c:36:4:  [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.
   vsnprintf(str, sizeof str, format, args);
data/allegro5-5.2.6.0/examples/common.c:82:4:  [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.
   vsnprintf(str, sizeof str, format, args);
data/allegro5-5.2.6.0/examples/common.c:93:4:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
   vfprintf(stderr, format, args);
data/allegro5-5.2.6.0/examples/common.c:117:4:  [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.
   vsnprintf(x, sizeof x, format, args);
data/allegro5-5.2.6.0/examples/common.c:120:4:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
   vprintf(format, args);
data/allegro5-5.2.6.0/examples/ex_blend.c:43:4:  [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.
   vsnprintf(message, sizeof message, format, list);
data/allegro5-5.2.6.0/examples/ex_blit.c:69:4:  [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.
   vsnprintf(message, sizeof message, format, list);
data/allegro5-5.2.6.0/examples/ex_clip.c:77:4:  [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.
   vsnprintf(message, sizeof message, format, list);
data/allegro5-5.2.6.0/examples/ex_display_events.c:17:4:  [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.
   vsnprintf(events[0], 1024, f, args);
data/allegro5-5.2.6.0/examples/ex_draw.c:82:4:  [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.
   vsnprintf(message, sizeof message, format, list);
data/allegro5-5.2.6.0/examples/ex_haiku.c:179:10:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
         sprintf(name, HAIKU_DATA "%s_%d.ogg", base[t], p);
data/allegro5-5.2.6.0/examples/ex_logo.c:18:12:  [4] (format) snprintf:
  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.
   #define snprintf _snprintf
data/allegro5-5.2.6.0/examples/ex_logo.c:18:21:  [4] (format) _snprintf:
  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.
   #define snprintf _snprintf
data/allegro5-5.2.6.0/examples/ex_logo.c:258: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(param_values[3], rnum(2, 12));
data/allegro5-5.2.6.0/examples/ex_logo.c:259: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(param_values[4], rnum(1, 8));
data/allegro5-5.2.6.0/examples/ex_logo.c:260: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(param_values[5], rnum(0.1, 1));
data/allegro5-5.2.6.0/examples/ex_logo.c:261: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(param_values[6], rnum(0, 5));
data/allegro5-5.2.6.0/examples/ex_logo.c:262: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(param_values[7], rnum(0, 5));
data/allegro5-5.2.6.0/examples/ex_logo.c:263: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(param_values[8], rnum(0, 5));
data/allegro5-5.2.6.0/examples/ex_native_filechooser.c:40:4:  [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.
   vsnprintf(str, sizeof str, format, args);
data/allegro5-5.2.6.0/examples/ex_timer.c:58:4:  [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.
   vsnprintf(message, sizeof message, format, list);
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_android.h:12:19:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM system;
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_gp2xwiz.h:20:19:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM system; /* This must be the first member, we "derive" from it. */
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_iphone.h:9:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    ALLEGRO_SYSTEM system;
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_raspberrypi.h:12:19:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM system;
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_xsystem.h:26:19:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM system;
data/allegro5-5.2.6.0/include/allegro5/internal/alconfig.h:96:102:  [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 AL_PRINTFUNC(type, name, args, a, b)    AL_FUNC(type, name, args) __attribute__ ((format (printf, a, b)))
data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/gl_ext_api.h:2577:60:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
AGL_API(void, MakeBufferResidentNV, (GLenum target, GLenum access))
data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/gl_ext_api.h:2580:65:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
AGL_API(void, MakeNamedBufferResidentNV, (GLuint buffer, GLenum access))
data/allegro5-5.2.6.0/include/allegro5/platform/aintwin.h:160:19:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM system; /* This must be the first member, we "derive" from it. */
data/allegro5-5.2.6.0/include/allegro5/platform/allegro_internal_sdl.h:12:19:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM system;
data/allegro5-5.2.6.0/misc/vcvars.c:56:7:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	 if (access(data, 4) == 0) {
data/allegro5-5.2.6.0/misc/vcvars.c:85:15:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	    else if (access(data, 4) != 0)
data/allegro5-5.2.6.0/misc/vcvars.c:99:4:  [4] (buffer) strcat:
  Does not check 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(name, data);
data/allegro5-5.2.6.0/misc/vcvars.c:121:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	 sprintf(cmd, "cmd.exe /e:8192 /k \"%s\"", getenv("VCVARS"));
data/allegro5-5.2.6.0/misc/vcvars.c:131:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	 sprintf(cmd, "command.com /e:8192 /k \"%s\"", getenv("VCVARS"));
data/allegro5-5.2.6.0/misc/vcvars.c:138:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(cmd, argv[i]);
data/allegro5-5.2.6.0/misc/vcvars.c:144:4:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   system(cmd);
data/allegro5-5.2.6.0/src/android/android_apk_fs.c:199: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(e->file_list, cs);
data/allegro5-5.2.6.0/src/android/android_display.c:47:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/android/android_display.c:114:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/android/android_display.c:248:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/android/android_display.c:547:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/android/android_keyboard.c:132:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/android/android_keyboard.c:149:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/android/android_keyboard.c:165:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/android/android_system.c:44:28:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM_ANDROID *system;
data/allegro5-5.2.6.0/src/android/android_system.c:183:19:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if(system_data.system) {
data/allegro5-5.2.6.0/src/android/android_system.c:237:35:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM *sys = &na_sys->system;
data/allegro5-5.2.6.0/src/android/android_system.c:292:21:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (!system_data.system || !sys) {
data/allegro5-5.2.6.0/src/android/android_system.c:319:47:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM *sys = &system_data.system->system;
data/allegro5-5.2.6.0/src/android/android_system.c:328:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if(!system_data.system || !sys) {
data/allegro5-5.2.6.0/src/android/android_system.c:398:21:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   free(system_data.system);
data/allegro5-5.2.6.0/src/android/android_system.c:405:47:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM *sys = &system_data.system->system;
data/allegro5-5.2.6.0/src/android/android_system.c:478:32:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return &system_data.system->system;
data/allegro5-5.2.6.0/src/android/android_touch.c:338:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(system != NULL);
data/allegro5-5.2.6.0/src/bitmap_io.c:49: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(ent->extension, ext);
data/allegro5-5.2.6.0/src/debug.c:197:4:  [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.
   vsnprintf(static_trace_buffer + s, sizeof(static_trace_buffer) - s,
data/allegro5-5.2.6.0/src/debug.c:296:4:  [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.
   vsnprintf(static_trace_buffer + s, sizeof(static_trace_buffer) - s,
data/allegro5-5.2.6.0/src/display.c:40:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM *system;
data/allegro5-5.2.6.0/src/fshook_stdio.c:552:11:  [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).
   return strcpy(cwd, tmpdir);
data/allegro5-5.2.6.0/src/gp2xwiz/wiz_display_fb.c:54:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   add = _al_vector_alloc_back(&system->system.displays);
data/allegro5-5.2.6.0/src/gp2xwiz/wiz_display_fb.c:79:35:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_find_and_delete(&s->system.displays, &d);
data/allegro5-5.2.6.0/src/gp2xwiz/wiz_display_opengl.c:83:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   add = _al_vector_alloc_back(&system->system.displays);
data/allegro5-5.2.6.0/src/gp2xwiz/wiz_display_opengl.c:156:35:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_find_and_delete(&s->system.displays, &d);
data/allegro5-5.2.6.0/src/gp2xwiz/wiz_system.c:36:24:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_init(&s->system.displays, sizeof (ALLEGRO_DISPLAY *));
data/allegro5-5.2.6.0/src/gp2xwiz/wiz_system.c:38:7:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   s->system.vt = gp2xwiz_vt;
data/allegro5-5.2.6.0/src/gp2xwiz/wiz_system.c:40:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return &s->system;
data/allegro5-5.2.6.0/src/iphone/iphone_system.c:18:36:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    ALLEGRO_SYSTEM *sys = &iphone->system;
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2745:33:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
#define exvsnprintf(r,b,n,f,a) {vsprintf (b,f,a); r = -1;}
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2760:37:  [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.
#define exvsnprintf(r,b,n,f,a) {r = vsnprintf (b,n,f,a);}
data/allegro5-5.2.6.0/src/monitor.c:27:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (system && system->vt && system->vt->get_num_video_adapters) {
data/allegro5-5.2.6.0/src/monitor.c:42:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if (system && system->vt && system->vt->get_monitor_info) {
data/allegro5-5.2.6.0/src/monitor.c:58:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
       if (system && system->vt && system->vt->get_monitor_dpi) {
data/allegro5-5.2.6.0/src/opengl/ogl_shader.c:26:12:  [4] (format) snprintf:
  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.
   #define snprintf _snprintf
data/allegro5-5.2.6.0/src/opengl/ogl_shader.c:26:21:  [4] (format) _snprintf:
  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.
   #define snprintf _snprintf
data/allegro5-5.2.6.0/src/opengl/ogl_shader.c:457:7:  [4] (format) snprintf:
  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.
      snprintf(user_attr_name, sizeof(user_attr_name), ALLEGRO_SHADER_VAR_USER_ATTR "%d", i);
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:412:42:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    add = _al_vector_alloc_back(&system->system.displays);
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:512:40:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_find_and_delete(&system->system.displays, &d);
data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c:30:24:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_init(&s->system.displays, sizeof (ALLEGRO_DISPLAY_RASPBERRYPI *));
data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c:48:7:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   s->system.vt = pi_vt;
data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c:50:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return &s->system;
data/allegro5-5.2.6.0/src/sdl/sdl_display.c:273:53:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      transfer_display_bitmaps_to_any_other_display(system, d);
data/allegro5-5.2.6.0/src/sdl/sdl_system.c:139:7:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   s->system.vt = vt;
data/allegro5-5.2.6.0/src/sdl/sdl_system.c:143:24:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_init(&s->system.displays, sizeof (ALLEGRO_DISPLAY_SDL *));
data/allegro5-5.2.6.0/src/sdl/sdl_system.c:145:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return &s->system;
data/allegro5-5.2.6.0/src/sdl/sdl_system.c:169:31:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   while (_al_vector_size(&s->system.displays) > 0) {
data/allegro5-5.2.6.0/src/sdl/sdl_system.c:170:51:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      ALLEGRO_DISPLAY **dptr = _al_vector_ref(&s->system.displays, 0);
data/allegro5-5.2.6.0/src/sdl/sdl_system.c:174:24:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_free(&s->system.displays);
data/allegro5-5.2.6.0/src/system.c:60:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM *system;
data/allegro5-5.2.6.0/src/system.c:67:17:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
         return system;
data/allegro5-5.2.6.0/src/threads.c:64:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (system && system->vt && system->vt->thread_init) {
data/allegro5-5.2.6.0/src/threads.c:83:8:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (system && system->vt && system->vt->thread_exit) {
data/allegro5-5.2.6.0/src/unix/upath.c:203:17:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   FILE *pipe = popen(command, "r");
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:926:40:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_find_and_delete(&system->system.displays, &display);
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:928:16:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (system->system.displays._size <= 0) {
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:1397: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((char*)d3d_display->device_name, (char*)info->dd.DeviceName);
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:1588:44:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
         if (already_fullscreen || system->system.displays._size != 0) {
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:1795:65:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   add = (ALLEGRO_DISPLAY_D3D **)_al_vector_alloc_back(&system->system.displays);
data/allegro5-5.2.6.0/src/win/wgl_disp.c:1039:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   add = _al_vector_alloc_back(&system->system.displays);
data/allegro5-5.2.6.0/src/win/wgl_disp.c:1114:40:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_find_and_delete(&system->system.displays, &disp);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:1130:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM *system;
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:1203:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM *system;
data/allegro5-5.2.6.0/src/win/wsystem.c:201:37:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_init(&_al_win_system->system.displays, sizeof (ALLEGRO_SYSTEM_WIN *));
data/allegro5-5.2.6.0/src/win/wsystem.c:203:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_win_system->system.vt = vt;
data/allegro5-5.2.6.0/src/win/wsystem.c:205:28:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return &_al_win_system->system;
data/allegro5-5.2.6.0/src/win/wtouch_input.c:191:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM* system;
data/allegro5-5.2.6.0/src/win/wwindow.c:425:9:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (!system) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:54:58:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
static bool check_adapter_use_count(ALLEGRO_SYSTEM_XGLX *system)
data/allegro5-5.2.6.0/src/x/xdisplay.c:92:51:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
static int query_glx_version(ALLEGRO_SYSTEM_XGLX *system)
data/allegro5-5.2.6.0/src/x/xdisplay.c:163:61:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
static bool xdpy_create_display_window(ALLEGRO_SYSTEM_XGLX *system,
data/allegro5-5.2.6.0/src/x/xdisplay.c:204:35:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      _al_xglx_get_display_offset(system, d->adapter, &x_off, &y_off);
data/allegro5-5.2.6.0/src/x/xdisplay.c:218:38:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
         _al_xglx_get_display_offset(system, d->adapter, &xscr_x, &xscr_y);
data/allegro5-5.2.6.0/src/x/xdisplay.c:243:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if (!_al_xglx_fullscreen_set_mode(system, d, w, h, 0,
data/allegro5-5.2.6.0/src/x/xdisplay.c:300:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ALLEGRO_SYSTEM_XGLX *system, int flags, int w, int h, int adapter)
data/allegro5-5.2.6.0/src/x/xdisplay.c:307:39:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   d->glx_version = query_glx_version(system);
data/allegro5-5.2.6.0/src/x/xdisplay.c:328:49:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      d->adapter = _al_xglx_get_default_adapter(system);
data/allegro5-5.2.6.0/src/x/xdisplay.c:333:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_xglx_use_adapter(system, d->adapter);
data/allegro5-5.2.6.0/src/x/xdisplay.c:334:33:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (!check_adapter_use_count(system)) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:341:38:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   d->xscreen = _al_xglx_get_xscreen(system, d->adapter);
data/allegro5-5.2.6.0/src/x/xdisplay.c:368:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   add = _al_vector_alloc_back(&system->system.displays);
data/allegro5-5.2.6.0/src/x/xdisplay.c:374:36:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (!xdpy_create_display_window(system, d, w, h, adapter)) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:447:38:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      _al_xglx_fullscreen_to_display(system, d);
data/allegro5-5.2.6.0/src/x/xdisplay.c:452:36:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if (_al_vector_size(&system->system.displays) == 1) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:455:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      else if (_al_vector_size(&system->system.displays) > 1) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:614:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   display = xdpy_create_display_locked(system, flags, w, h, adapter);
data/allegro5-5.2.6.0/src/x/xdisplay.c:639:14:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   ASSERT(s->system.displays._size > 1);
data/allegro5-5.2.6.0/src/x/xdisplay.c:641:23:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   for (i = 0; i < s->system.displays._size; i++) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:642:51:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      ALLEGRO_DISPLAY **slot = _al_vector_ref(&s->system.displays, i);
data/allegro5-5.2.6.0/src/x/xdisplay.c:668:23:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   for (i = 0; i < s->system.displays._size; i++) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:669:56:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      ALLEGRO_DISPLAY_XGLX **slot = _al_vector_ref(&s->system.displays, i);
data/allegro5-5.2.6.0/src/x/xdisplay.c:748:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   is_last = (s->system.displays._size == 1);
data/allegro5-5.2.6.0/src/x/xdisplay.c:758:35:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_find_and_delete(&s->system.displays, &d);
data/allegro5-5.2.6.0/src/x/xdisplay.c:955:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if (!_al_xglx_fullscreen_set_mode(system, glx, w, h, 0, 0)) {
data/allegro5-5.2.6.0/src/x/xdisplay.c:1000:38:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      _al_xglx_fullscreen_to_display(system, glx);
data/allegro5-5.2.6.0/src/x/xdisplay.c:1059:30:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_xglx_get_monitor_info(system, glx->adapter, &mi);
data/allegro5-5.2.6.0/src/x/xdisplay.c:1067:46:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      int new_adapter = _al_xglx_get_adapter(system, glx, true);
data/allegro5-5.2.6.0/src/x/xdisplay.c:1070:33:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
         _al_xglx_unuse_adapter(system, glx->adapter);
data/allegro5-5.2.6.0/src/x/xdisplay.c:1072:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
            _al_xglx_restore_video_mode(system, glx->adapter);
data/allegro5-5.2.6.0/src/x/xdisplay.c:1074:31:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
         _al_xglx_use_adapter(system, glx->adapter);
data/allegro5-5.2.6.0/src/x/xevents.c:50:40:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   for (i = 0; i < _al_vector_size(&s->system.displays); i++) {
data/allegro5-5.2.6.0/src/x/xevents.c:51:56:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      ALLEGRO_DISPLAY_XGLX **dptr = _al_vector_ref(&s->system.displays, i);
data/allegro5-5.2.6.0/src/x/xglx_config.c:532:33:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   if (_al_vector_size(&system->system.displays) > 1) {
data/allegro5-5.2.6.0/src/x/xglx_config.c:534:52:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      existing_dpy = _al_vector_ref_front(&system->system.displays);
data/allegro5-5.2.6.0/src/x/xkeyboard.c:364:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(str + strlen(str), " %s", sym_str ? sym_str : "NULL");
data/allegro5-5.2.6.0/src/x/xkeyboard.c:644:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(str + strlen(str), " %s", sym_str ? sym_str : "NULL");
data/allegro5-5.2.6.0/src/x/xsystem.c:209:24:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   _al_vector_init(&s->system.displays, sizeof (ALLEGRO_DISPLAY_XGLX *));
data/allegro5-5.2.6.0/src/x/xsystem.c:211:7:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   s->system.vt = xglx_vt;
data/allegro5-5.2.6.0/src/x/xsystem.c:253:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return &s->system;
data/allegro5-5.2.6.0/src/x/xsystem.c:336:43:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return _al_xglx_get_num_video_adapters(system);
data/allegro5-5.2.6.0/src/x/xsystem.c:343:37:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
   return _al_xglx_get_monitor_info(system, adapter, info);
data/allegro5-5.2.6.0/tests/test_driver.c:116:8:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
      (sscanf(stmt, fn " %80[(]" " )", ARGS1) == 1)
data/allegro5-5.2.6.0/tests/test_driver.c:118:8:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
      (sscanf(stmt, fn " (" PAT##arity " )", ARGS##arity) == arity)
data/allegro5-5.2.6.0/tests/test_driver.c:120:8:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
      (sscanf(stmt, PAT " = " fn " (" PAT##arity " )", lval, ARGS##arity) \
data/allegro5-5.2.6.0/tests/test_driver.c:129:4:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
   vfprintf(stderr, msg, ap);
data/allegro5-5.2.6.0/tests/test_driver.c:566:11:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
      if (sscanf(value, " %f , %f , %f ; %f , %f ; %s",
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:379: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(bundle, argv[++arg]);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:385: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(bundle_version, argv[++arg]);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:391: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(bundle_long_version, argv[++arg]);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:396: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(datafile, argv[++arg]);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:434: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(bundle, bundle_exe);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:436: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(bundle_contents_dir, bundle_dir);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:438: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(bundle_contents_resources_dir, bundle_contents_dir);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:440: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(bundle_contents_macos_dir, bundle_contents_dir);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:442: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(bundle_contents_frameworks_dir, bundle_contents_dir);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:465:4:  [4] (buffer) strcat:
  Does not check 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(bundle_contents_macos_dir, get_filename(bundle_exe));
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:482:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(buffer, "/Developer/Tools/pbxcp -exclude .DS_Store -exclude CVS -resolve-src-symlinks /Library/Frameworks/Allegro.framework %s", bundle_contents_frameworks_dir);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:484:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	  (system(buffer))) {
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:494: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(bundle_contents_resources_dir, get_filename(bundle));
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:591:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(bundle_plist, "%s/Info.plist", bundle_contents_dir);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:598:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(buffer, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:632:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(buffer, "\t<key>CFBundleGetInfoString</key>\n"
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:637:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(buffer, "\t<key>CFBundleIconFile</key>\n"
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:645:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(bundle_pkginfo, "%s/PkgInfo", bundle_contents_dir);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:669:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
   sprintf(buffer, "%s/%s", bundle_contents_macos_dir, get_filename(bundle_exe));
data/allegro5-5.2.6.0/tools/win/wfixicon.c:218:16:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
               strcpy(dat_name, argv[++arg]);
data/allegro5-5.2.6.0/tools/win/wfixicon.c:303:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(str, "allegro_icon ICON %s\n", argv[1]);
data/allegro5-5.2.6.0/tools/win/wfixicon.c:312:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(str, "windres -O coff -o %s -i %s", res_name, rc_name);
data/allegro5-5.2.6.0/tools/win/wfixicon.c:314:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(str, "rc -fo %s %s", res_name, rc_name);
data/allegro5-5.2.6.0/tools/win/wfixicon.c:316:10:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
         sprintf(str, "brc32 -r -fo %s %s", res_name, rc_name);
data/allegro5-5.2.6.0/tools/win/wfixicon.c:319:10:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
         system(str);
data/allegro5-5.2.6.0/addons/image/png.c:33:31:  [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.
      const char *gamma_str = getenv("SCREEN_GAMMA");
data/allegro5-5.2.6.0/demos/cosmic_protector/src/Game.cpp:131:4:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
   srand(time(NULL));
data/allegro5-5.2.6.0/demos/skater/src/framework.c:157:4:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
   srand((unsigned)time(NULL));
data/allegro5-5.2.6.0/demos/speed/main.c:189:4:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
   srand(time(NULL));
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:24:29:  [3] (tmpfile) tempnam:
  Temporary file race condition (CWE-377).
   #define TEMPNAM(d, p)   (tempnam((d), (p)))
data/allegro5-5.2.6.0/examples/ex_enet_server.c:193:4:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
   srand(time(NULL));
data/allegro5-5.2.6.0/examples/ex_logo.c:411:4:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
   srand(time(NULL));
data/allegro5-5.2.6.0/examples/ex_windows.c:27:4:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
   srand(time(NULL));
data/allegro5-5.2.6.0/include/allegro5/platform/aintwthr.h:53:4:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
   EnterCriticalSection(&t->cs);
data/allegro5-5.2.6.0/include/allegro5/platform/aintwthr.h:62:7:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
      EnterCriticalSection(m->cs);
data/allegro5-5.2.6.0/include/allegro5/platform/alwatcom.h:75:9:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define random()     rand()
data/allegro5-5.2.6.0/include/allegro5/platform/alwatcom.h:76:9:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define srandom(n)   srand(n)
data/allegro5-5.2.6.0/include/allegro5/platform/alwatcom.h:76:22:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define srandom(n)   srand(n)
data/allegro5-5.2.6.0/misc/msvchelp.c:22:20:  [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.
    longfilename = getenv(argv[1]);
data/allegro5-5.2.6.0/misc/vcvars.c:114: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.
   if ((getenv("OS")) && (stricmp(getenv("OS"), "Windows_NT") == 0)) {
data/allegro5-5.2.6.0/misc/vcvars.c:114:35:  [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.
   if ((getenv("OS")) && (stricmp(getenv("OS"), "Windows_NT") == 0)) {
data/allegro5-5.2.6.0/misc/vcvars.c:121:45:  [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.
	 sprintf(cmd, "cmd.exe /e:8192 /k \"%s\"", getenv("VCVARS"));
data/allegro5-5.2.6.0/misc/vcvars.c:131:49:  [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.
	 sprintf(cmd, "command.com /e:8192 /k \"%s\"", getenv("VCVARS"));
data/allegro5-5.2.6.0/src/debug.c:174:23:  [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.
      const char *s = getenv("ALLEGRO_TRACE");
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:392: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.
   if (!getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:436:8:  [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.
   if (getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:480:36:  [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.
   if (al_is_mouse_installed() && !getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:519:8:  [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.
   if (getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c:34:8:  [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.
   if (getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c:68:8:  [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.
   if (getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c:82:8:  [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.
   if (getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/raspberrypi/pisystem.c:90:8:  [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.
   if (getenv("DISPLAY")) {
data/allegro5-5.2.6.0/src/unix/upath.c:86:20:  [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.
   else if ((env = getenv("PATH"))) {
data/allegro5-5.2.6.0/src/unix/upath.c:285:34:  [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.
   const char *xdg_config_home = getenv("XDG_CONFIG_HOME");
data/allegro5-5.2.6.0/src/unix/upath.c:381:21:  [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.
   char *home_env = getenv("HOME");
data/allegro5-5.2.6.0/src/unix/upath.c:416:25:  [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.
            char *tmp = getenv(envs[i]);
data/allegro5-5.2.6.0/src/unix/upath.c:457:41:  [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.
            const char *xdg_data_home = getenv("XDG_DATA_HOME");
data/allegro5-5.2.6.0/src/unix/upath.c:461:43:  [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.
            const char *xdg_config_home = getenv("XDG_CONFIG_HOME");
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:1167:4:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
   InitializeCriticalSection(&joydx_thread_cs);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:1263:4:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
   EnterCriticalSection(&joydx_thread_cs);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:1298:4:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
   EnterCriticalSection(&joydx_thread_cs);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:1390:7:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
      EnterCriticalSection(&joydx_thread_cs);
data/allegro5-5.2.6.0/src/win/wsystem.c:761:10:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
   lib = LoadLibrary(path_str);
data/allegro5-5.2.6.0/src/win/wxthread.c:48:7:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
      InitializeCriticalSection(&thread->cs);
data/allegro5-5.2.6.0/src/win/wxthread.c:65:7:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
      InitializeCriticalSection(&thread->cs);
data/allegro5-5.2.6.0/src/win/wxthread.c:81:4:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
   EnterCriticalSection(&thread->cs);
data/allegro5-5.2.6.0/src/win/wxthread.c:122:7:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
      InitializeCriticalSection(mutex->cs);
data/allegro5-5.2.6.0/src/win/wxthread.c:272:4:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
   InitializeCriticalSection(&cond->semBlockLock);
data/allegro5-5.2.6.0/src/win/wxthread.c:273:4:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
   InitializeCriticalSection(&cond->mtxUnblockLock);
data/allegro5-5.2.6.0/src/win/wxthread.c:292:4:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
   EnterCriticalSection(&cond->semBlockLock);
data/allegro5-5.2.6.0/src/win/wxthread.c:310:4:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
   EnterCriticalSection(&cond->mtxUnblockLock);
data/allegro5-5.2.6.0/src/win/wxthread.c:315:7:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
      EnterCriticalSection(&cond->semBlockLock);
data/allegro5-5.2.6.0/src/win/wxthread.c:370:4:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
   EnterCriticalSection(&cond->mtxUnblockLock);
data/allegro5-5.2.6.0/src/win/wxthread.c:388:7:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
      EnterCriticalSection(&cond->semBlockLock); /* close the gate */
data/allegro5-5.2.6.0/tools/x11/xf2pcx.c:102:18:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
   while ((opt = getopt(argc, argv, "f:o:z:c:b:g:r:h")) != EOF) {
data/allegro5-5.2.6.0/addons/acodec/flac.c:408: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((uint8_t *)data + written_bytes, ff->buffer, read_bytes);
data/allegro5-5.2.6.0/addons/acodec/modaudio.c:180:50:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
         (buf_size - written) / sample_size, &(((char *)data)[written])) * sample_size;
data/allegro5-5.2.6.0/addons/acodec/modaudio.c:188: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.
      ((char *)data)[i] = 0;
data/allegro5-5.2.6.0/addons/acodec/mp3.c:219: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(data,
data/allegro5-5.2.6.0/addons/acodec/voc.c:81:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char hdrbuf[0x16];
data/allegro5-5.2.6.0/addons/acodec/wav.c:38:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buffer[12];
data/allegro5-5.2.6.0/addons/audio/allegro5/internal/aintern_audio.h:67:21:  [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).
   int            (*open)(void);
data/allegro5-5.2.6.0/addons/audio/alsa.c:62: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).
      int n = atoi(val);
data/allegro5-5.2.6.0/addons/audio/alsa.c:76: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).
      int n = atoi(val);
data/allegro5-5.2.6.0/addons/audio/alsa.c:358:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      mmap = (char *) areas[0].addr
data/allegro5-5.2.6.0/addons/audio/alsa.c:371:13:  [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(mmap, buf, bytes);
data/allegro5-5.2.6.0/addons/audio/alsa.c:378:16:  [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(mmap + i * fs, (char *) buf - i * fs, fs);
data/allegro5-5.2.6.0/addons/audio/alsa.c:388:10:  [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(mmap, data, frames * alsa_voice->frame_size);
data/allegro5-5.2.6.0/addons/audio/audio.c:268:39:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_aqueue_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio.c:281:39:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_openal_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio.c:294:39:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_opensl_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio.c:307:37:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_alsa_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio.c:320:36:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_oss_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio.c:333:43:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_pulseaudio_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio.c:346:39:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_dsound_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio.c:359:36:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if (_al_kcm_sdl_driver.open() == 0) {
data/allegro5-5.2.6.0/addons/audio/audio_io.c:20:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char              ext[MAX_EXTENSION_LENGTH];
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:55: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.
static char ds_err_str[100];
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:84: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).
      int n = atoi(val);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:97:10:  [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(ds_err_str, "DSERR_ALLOCATED");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:100:10:  [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(ds_err_str, "DSERR_BADFORMAT");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:103:10:  [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(ds_err_str, "DSERR_BUFFERTOOSMALL");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:106:10:  [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(ds_err_str, "DSERR_CONTROLUNAVAIL");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:109:10:  [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(ds_err_str, "DSERR_DS8_REQUIRED");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:112:10:  [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(ds_err_str, "DSERR_INVALIDCALL");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:115:10:  [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(ds_err_str, "DSERR_INVALIDPARAM");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:118:10:  [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(ds_err_str, "DSERR_NOAGGREGATION");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:121:10:  [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(ds_err_str, "DSERR_OUTOFMEMORY");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:124:10:  [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(ds_err_str, "DSERR_UNINITIALIZED");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:127:10:  [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(ds_err_str, "DSERR_UNSUPPORTED");
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:186: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(ptr1, data, block1_bytes);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:190: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(ptr2, data + block1_bytes, block2_bytes);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:239:10:  [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(ptr1, data, block1_bytes);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:240:10:  [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(ptr2, data + block1_bytes, block2_bytes);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:434:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(ptr1, data, block1_bytes);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:435:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(ptr2, data + block1_bytes, block2_bytes);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:687:16:  [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((uint8_t*) r->fragments[fragment_i] + bytes_written, buffer, buffer_size);
data/allegro5-5.2.6.0/addons/audio/dsound.cpp:694:16:  [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((uint8_t*) r->fragments[fragment_i] + bytes_written, buffer, bytes_to_write);
data/allegro5-5.2.6.0/addons/audio/kcm_instance.c:681: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(spl->matrix, matrix, dst_chans * src_chans * sizeof(float));
data/allegro5-5.2.6.0/addons/audio/kcm_mixer.c:120: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 debug[1024];
data/allegro5-5.2.6.0/addons/audio/kcm_mixer.c:125:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(debug + strlen(debug), " %f", mat[i][j]);
data/allegro5-5.2.6.0/addons/audio/kcm_sample.c:74:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      voice_frequency = atoi(p);
data/allegro5-5.2.6.0/addons/audio/kcm_sample.c:78:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      mixer_frequency = atoi(p);
data/allegro5-5.2.6.0/addons/audio/kcm_stream.c:656: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(
data/allegro5-5.2.6.0/addons/audio/opensl.c:180: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 * buffers[MAX_BUFFERS];
data/allegro5-5.2.6.0/addons/audio/opensl.c:465:25:  [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(buffer, data, frames * opensl->frame_size);
data/allegro5-5.2.6.0/addons/audio/oss.c:67: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.
static char oss_audio_device[512];
data/allegro5-5.2.6.0/addons/audio/oss.c:106:20:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
   if ((mixer_fd = open("/dev/mixer", O_RDWR, 0)) == -1) {
data/allegro5-5.2.6.0/addons/audio/oss.c:167:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(oss_audio_device, "/dev/dsp%i", audioinfo.legacy_device);
data/allegro5-5.2.6.0/addons/audio/oss.c:204:13:  [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).
   int fd = open(oss_audio_device_ver3, O_WRONLY);
data/allegro5-5.2.6.0/addons/audio/oss.c:409:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char sil_buf[SIL_BUF_SIZE];
data/allegro5-5.2.6.0/addons/audio/oss.c:497:18:  [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).
   ex_data->fd = open(oss_audio_device, O_WRONLY/*, O_NONBLOCK*/);
data/allegro5-5.2.6.0/addons/audio/pulseaudio.c:66:18:  [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).
         int n = atoi(val);
data/allegro5-5.2.6.0/addons/audio/sdl_audio.c:35: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(stream, sample->buffer.ptr, len);
data/allegro5-5.2.6.0/addons/audio/sdl_audio.c:145: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(r->fragments[sdl->fragment], stream, count);
data/allegro5-5.2.6.0/addons/color/color.c:531:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(string, "#%02x%02x%02x", (int)(red * 255),
data/allegro5-5.2.6.0/addons/image/bmp.c:231: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.
   unsigned char c[3];
data/allegro5-5.2.6.0/addons/image/bmp.c:1044: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.
   unsigned char b[8];
data/allegro5-5.2.6.0/addons/image/gdiplus.cpp:243:13:  [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(out, in, h * gdi_lock->Stride);
data/allegro5-5.2.6.0/addons/image/gdiplus.cpp:248:16:  [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(out, in, w);
data/allegro5-5.2.6.0/addons/image/gdiplus.cpp:302:16:  [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(out, in, h * gdi_lock->Stride);
data/allegro5-5.2.6.0/addons/image/gdiplus.cpp:307:19:  [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(out, in, w * 4);
data/allegro5-5.2.6.0/addons/image/gdiplus.cpp:424:16:  [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(out, in, h * gdi_lock->Stride);
data/allegro5-5.2.6.0/addons/image/gdiplus.cpp:429:19:  [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(out, in, w * 4);
data/allegro5-5.2.6.0/addons/image/jpg.c:143:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buffer[JMSG_LENGTH_MAX];
data/allegro5-5.2.6.0/addons/image/jpg.c:235: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.
         unsigned char *out[1];
data/allegro5-5.2.6.0/addons/image/jpg.c:343: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.
      unsigned char *row[1];
data/allegro5-5.2.6.0/addons/image/png.c:77: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.
   unsigned char buf[PNG_BYTES_TO_CHECK];
data/allegro5-5.2.6.0/addons/image/tga.c:126:64:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 INLINE void single_tga_read24(ALLEGRO_FILE *f, unsigned char color[3])
data/allegro5-5.2.6.0/addons/image/tga.c:154: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.
   unsigned char color[3];
data/allegro5-5.2.6.0/addons/image/tga.c:239: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.
   unsigned char image_id[256], image_palette[256][3];
data/allegro5-5.2.6.0/addons/memfile/memfile.c:41:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(ptr, mf->mem + mf->pos, n);
data/allegro5-5.2.6.0/addons/memfile/memfile.c:66:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(mf->mem + mf->pos, ptr, n);
data/allegro5-5.2.6.0/addons/native_dialog/gtk_msgbox.c:102:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
         char buffer[256];
data/allegro5-5.2.6.0/addons/native_dialog/win_dialog.c:103:4:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   TCHAR buf[MAX_PATH] = TEXT("");
data/allegro5-5.2.6.0/addons/native_dialog/win_dialog.c:105:4:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   TCHAR dbuf[MAX_PATH] = TEXT("");
data/allegro5-5.2.6.0/addons/native_dialog/win_dialog.c:195:4:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   TCHAR buf[4096];
data/allegro5-5.2.6.0/addons/native_dialog/win_dialog.c:808: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(data, lock->data, w * h * 4);
data/allegro5-5.2.6.0/addons/physfs/a5_physfs.c:20:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char error_msg[80];
data/allegro5-5.2.6.0/addons/physfs/a5_physfs_dir.c:41: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.
static char fs_phys_cwd[1024] = "/";
data/allegro5-5.2.6.0/addons/physfs/a5_physfs_dir.c:95: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(s, fs_phys_cwd, size);
data/allegro5-5.2.6.0/addons/primitives/polyline.c:164: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(out_middle, middle, sizeof(float) * 2);
data/allegro5-5.2.6.0/addons/primitives/polyline.c:489: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(p0, r0, sizeof(float) * 2);
data/allegro5-5.2.6.0/addons/primitives/polyline.c:490: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(p1, r1, sizeof(float) * 2);
data/allegro5-5.2.6.0/addons/primitives/prim_directx.cpp:1061: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(locked_memory, initial_data, stride * num_vertices);
data/allegro5-5.2.6.0/addons/primitives/prim_directx.cpp:1103: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(locked_memory, initial_data, num_indices * buf->index_size);
data/allegro5-5.2.6.0/addons/primitives/triangulator.c:700:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
         char status[3] = { 0 };
data/allegro5-5.2.6.0/addons/ttf/ttf.c:874:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      int min_page_size = atoi(min_page_size_str);
data/allegro5-5.2.6.0/addons/ttf/ttf.c:881:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      int max_page_size = atoi(max_page_size_str);
data/allegro5-5.2.6.0/addons/video/ogv.c:124:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(node->pkt.packet, packet->packet, packet->bytes);
data/allegro5-5.2.6.0/addons/video/ogv.c:702: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(frag, vstream->next_fragment,
data/allegro5-5.2.6.0/addons/video/ogv.c:1133: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((unsigned char*)lr->data + y * lr->pitch, ogv->rgb_data + y * pitch, pitch);
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:130:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[4];
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:193:38:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
               highScores[i].score = atoi(v);
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:210: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 sc[32];
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:238:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[4] = "   ";
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:332: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.
            char s[2];
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:340:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-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[4] = { 0, };
data/allegro5-5.2.6.0/demos/cosmic_protector/src/Game.cpp:53:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char res[512];
data/allegro5-5.2.6.0/demos/cosmic_protector/src/render.cpp:44:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char text[20];
data/allegro5-5.2.6.0/demos/cosmic_protector/src/render.cpp:45:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(text, "WAVE %d", num);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:112:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[256];
data/allegro5-5.2.6.0/demos/skater/src/credits.c:269:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[256], *p, *p2;
data/allegro5-5.2.6.0/demos/skater/src/credits.c:420:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[2] = " ";
data/allegro5-5.2.6.0/demos/skater/src/credits.c:423:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char cbuf[2] = " ";
data/allegro5-5.2.6.0/demos/skater/src/gamepad.c:13:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp[64];
data/allegro5-5.2.6.0/demos/skater/src/gamepad.c:33:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp[64];
data/allegro5-5.2.6.0/demos/skater/src/gamepad.c:111:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char RetMessage[1024];
data/allegro5-5.2.6.0/demos/skater/src/global.c:39:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char config_path[DEMO_PATH_LENGTH];
data/allegro5-5.2.6.0/demos/skater/src/global.c:40: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 data_path[DEMO_PATH_LENGTH];
data/allegro5-5.2.6.0/demos/skater/src/global.c:79: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).
   return (v) ? atoi(v) : def;
data/allegro5-5.2.6.0/demos/skater/src/global.c:86:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[32];
data/allegro5-5.2.6.0/demos/skater/src/global.c:88:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "%d", val);
data/allegro5-5.2.6.0/demos/skater/src/global.c:165:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char spath[1024];
data/allegro5-5.2.6.0/demos/skater/src/global.c:355:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[512];
data/allegro5-5.2.6.0/demos/skater/src/global.c:370:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[512];
data/allegro5-5.2.6.0/demos/skater/src/global.c:385:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[512];
data/allegro5-5.2.6.0/demos/skater/src/global.c:399:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[512];
data/allegro5-5.2.6.0/demos/skater/src/global.c:425:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[512];
data/allegro5-5.2.6.0/demos/skater/src/global.h:56: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 config_path[DEMO_PATH_LENGTH];
data/allegro5-5.2.6.0/demos/skater/src/global.h:59: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 data_path[DEMO_PATH_LENGTH];
data/allegro5-5.2.6.0/demos/skater/src/keyboard.c:75:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp[64];
data/allegro5-5.2.6.0/demos/skater/src/keyboard.c:99:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp[64];
data/allegro5-5.2.6.0/demos/skater/src/menu.c:523:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char buf[64];
data/allegro5-5.2.6.0/demos/skater/src/menu_about.c:38:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char version[256];
data/allegro5-5.2.6.0/demos/skater/src/menu_about.c:41:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(menu[7].name, "Allegro %d.%d.%d", (v >> 24), (v >> 16) & 255, (v >> 8) & 255);
data/allegro5-5.2.6.0/demos/skater/src/menu_graphics.c:69:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
         char str[100];
data/allegro5-5.2.6.0/demos/skater/src/menu_graphics.c:71:10:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
         sprintf(str, "%dx%d", m.width, m.height);
data/allegro5-5.2.6.0/demos/skater/src/screenshot.c:12:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[64];
data/allegro5-5.2.6.0/demos/skater/src/screenshot.c:53:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[64];
data/allegro5-5.2.6.0/demos/skater/src/token.c:8: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 ErrorText[1024];
data/allegro5-5.2.6.0/demos/skater/src/token.h:31: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 ErrorText[1024];
data/allegro5-5.2.6.0/demos/skater/src/token.h:76:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char Text[256];
data/allegro5-5.2.6.0/demos/speed/a4_aux.c:44: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).
   return (v) ? atoi(v) : def;
data/allegro5-5.2.6.0/demos/speed/a4_aux.c:53:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[32];
data/allegro5-5.2.6.0/demos/speed/a4_aux.c:55:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "%d", val);
data/allegro5-5.2.6.0/demos/speed/a4_aux.c:423:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[256];
data/allegro5-5.2.6.0/demos/speed/hiscore.c:27: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.
static char names[NUM_SCORES][MAX_NAME_LEN+1];
data/allegro5-5.2.6.0/demos/speed/hiscore.c:29: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.
static char yourname[MAX_NAME_LEN+1] = "";
data/allegro5-5.2.6.0/demos/speed/hiscore.c:38:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf1[256];
data/allegro5-5.2.6.0/demos/speed/hiscore.c:52:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf1, "score%d", i+1);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:55:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf1, "name%d", i+1);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:71:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf1[256];
data/allegro5-5.2.6.0/demos/speed/hiscore.c:83:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf1, "score%d", i+1);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:86:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf1, "name%d", i+1);
data/allegro5-5.2.6.0/demos/speed/main.c:99:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	 char fname[80];
data/allegro5-5.2.6.0/demos/speed/main.c:101:3:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	 sprintf(fname, "speed%03d.tga", ++ss_count);
data/allegro5-5.2.6.0/demos/speed/main.c:222: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).
         n = atoi(argv[i]);
data/allegro5-5.2.6.0/demos/speed/message.c:16:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char text[80];
data/allegro5-5.2.6.0/demos/speed/player.c:167:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[80];
data/allegro5-5.2.6.0/demos/speed/player.c:189:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "Score: %d", bonus);
data/allegro5-5.2.6.0/demos/speed/title.c:121:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[80];
data/allegro5-5.2.6.0/demos/speed/title.c:145:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "Score: %d", score);
data/allegro5-5.2.6.0/docs/scripts/aatree.c:19:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(p, s, n);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:71:13:  [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).
   d_file = fopen(filename, "r");
data/allegro5-5.2.6.0/docs/scripts/dawk.c:104:16:  [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).
      d_file = fopen(d_argv[d_file_num], "r");
data/allegro5-5.2.6.0/docs/scripts/dawk.c:150: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).
   f = fopen(filename, "w");
data/allegro5-5.2.6.0/docs/scripts/dawk.h:16: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.
typedef char         dstr[MAX_STRING];
data/allegro5-5.2.6.0/docs/scripts/insert_timestamp.c:15:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[64];
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:164: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).
   FILE *f = fopen(allegro5_cfg_filename, "rb");
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:215:9:  [2] (tmpfile) mkstemp:
  Potential for temporary file vulnerability in some circumstances. Some
  older Unix-like systems create temp files with permission to write by all
  by default, so be sure to set the umask to override this. Also, some older
  Unix systems might fail to use O_EXCL when opening the file, so make sure
  that O_EXCL is used by the library (CWE-377).
   fd = mkstemp(filename);
data/allegro5-5.2.6.0/docs/scripts/make_index.c:17:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(p, s, n);
data/allegro5-5.2.6.0/examples/common.c:31:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char str[1024];
data/allegro5-5.2.6.0/examples/common.c:79:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char str[1024];
data/allegro5-5.2.6.0/examples/common.c:116:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char x[1024];
data/allegro5-5.2.6.0/examples/ex_android.c:105: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[1024];
data/allegro5-5.2.6.0/examples/ex_bitmap.c:49:35:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
       al_set_new_display_adapter(atoi(argv[2]));
data/allegro5-5.2.6.0/examples/ex_bitmap_file.c:53:35:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
       al_set_new_display_adapter(atoi(argv[2]));
data/allegro5-5.2.6.0/examples/ex_blend.c:37:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char message[1024];
data/allegro5-5.2.6.0/examples/ex_blit.c:66:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char message[1024];
data/allegro5-5.2.6.0/examples/ex_blit.c:175: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((char*)data + i * size * iw,
data/allegro5-5.2.6.0/examples/ex_blit.c:182: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((char*)lock->data + i * lock->pitch,
data/allegro5-5.2.6.0/examples/ex_camera.c:42:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char const *controls_names[3];
data/allegro5-5.2.6.0/examples/ex_clip.c:73:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char message[1024];
data/allegro5-5.2.6.0/examples/ex_color.cpp:152: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.
            char c[100];
data/allegro5-5.2.6.0/examples/ex_color.cpp:153:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(c, "%d", (int)(v[i] * 100));
data/allegro5-5.2.6.0/examples/ex_color.cpp:176:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char html[8];
data/allegro5-5.2.6.0/examples/ex_compressed.c:52:34:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      al_set_new_display_adapter(atoi(argv[2]));
data/allegro5-5.2.6.0/examples/ex_curl.c:98:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(cf->buffer + cf->buffer_pos, buffer, size);
data/allegro5-5.2.6.0/examples/ex_curl.c:239:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(ptr, cf->buffer, size);
data/allegro5-5.2.6.0/examples/ex_d3d.cpp:76:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(pData, aTriangle, sizeof(aTriangle));
data/allegro5-5.2.6.0/examples/ex_display_events.c:10: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.
static char events[MAX_EVENTS][1024];
data/allegro5-5.2.6.0/examples/ex_display_options.c:14: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 status[256];
data/allegro5-5.2.6.0/examples/ex_display_options.c:57: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.
static char const *flag_names[32];
data/allegro5-5.2.6.0/examples/ex_display_options.c:333:20:  [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(status, "Display creation succeeded.");
data/allegro5-5.2.6.0/examples/ex_display_options.c:336:20:  [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(status, "Display creation failed.");
data/allegro5-5.2.6.0/examples/ex_draw.c:76:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char message[1024];
data/allegro5-5.2.6.0/examples/ex_draw.c:282:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char str[256];
data/allegro5-5.2.6.0/examples/ex_draw.c:306:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(str, "%d", ex.samples);
data/allegro5-5.2.6.0/examples/ex_enet_client.c:144: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).
      port = atoi(argv[1]);
data/allegro5-5.2.6.0/examples/ex_enet_server.c:200: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).
      port = atoi(argv[1]);
data/allegro5-5.2.6.0/examples/ex_file_slice.c:39:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buffer[BUFFER_SIZE];
data/allegro5-5.2.6.0/examples/ex_filter.c:29: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.
static char const *filter_text[4] = {
data/allegro5-5.2.6.0/examples/ex_fs_resize.c:126:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
   	al_set_new_display_adapter(atoi(argv[1]));
data/allegro5-5.2.6.0/examples/ex_haiku.c:173:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 *base[NUM_TYPES] = {"earth", "air", "water", "fire"};
data/allegro5-5.2.6.0/examples/ex_haiku.c:174:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[128];
data/allegro5-5.2.6.0/examples/ex_keyboard_events.c:27:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char multibyte[5] = {0, 0, 0, 0, 0};
data/allegro5-5.2.6.0/examples/ex_logo.c:249:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char s[256];
data/allegro5-5.2.6.0/examples/ex_membmp.c:22:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char second_line[100];
data/allegro5-5.2.6.0/examples/ex_membmp.c:65:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(second_line, "%.1f FPS", fps);
data/allegro5-5.2.6.0/examples/ex_memfile.c:23:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buffer[50];
data/allegro5-5.2.6.0/examples/ex_menu.c:205: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.
                  char new_name[10];
data/allegro5-5.2.6.0/examples/ex_menu.c:213:19:  [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(new_name, "New #%d", dcount);                  
data/allegro5-5.2.6.0/examples/ex_multisample.c:114:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char title[1024];
data/allegro5-5.2.6.0/examples/ex_multisample.c:160:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(title, "Multisampling (%dx)", al_get_display_option(
data/allegro5-5.2.6.0/examples/ex_native_filechooser.c:36:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char str[1024];
data/allegro5-5.2.6.0/examples/ex_path_test.c:567:11:  [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).
      i = atoi(argv[1]);
data/allegro5-5.2.6.0/examples/ex_pixelformat.cpp:183:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
         char str[256];
data/allegro5-5.2.6.0/examples/ex_pixelformat.cpp:194:10:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
         sprintf(str, "%.0f FPS", (double)frames / (t1 - t0));
data/allegro5-5.2.6.0/examples/ex_prim.c:34: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 *ScreenName[NUM_SCREENS];
data/allegro5-5.2.6.0/examples/ex_record_name.c:200:16:  [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_buffer_pos, re->buffer, samples_to_copy * 2);
data/allegro5-5.2.6.0/examples/ex_resample_test.c:152:10:  [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(waveform, waveform_buffer, 640 * sizeof(float));
data/allegro5-5.2.6.0/examples/ex_stream_seek.c:249:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
         buffer_count = atoi(s);
data/allegro5-5.2.6.0/examples/ex_stream_seek.c:252:20:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
         samples = atoi(s);
data/allegro5-5.2.6.0/examples/ex_synth.cpp:248:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[32];
data/allegro5-5.2.6.0/examples/ex_synth.cpp:252:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "%4.0f Hz", frequency);
data/allegro5-5.2.6.0/examples/ex_synth.cpp:255:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "%.2f π", phase/PI);
data/allegro5-5.2.6.0/examples/ex_threads2.c:44:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 sin_lut[256];
data/allegro5-5.2.6.0/examples/ex_threads2.c:89:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 void random_palette(unsigned char palette[256][3], int *seed)
data/allegro5-5.2.6.0/examples/ex_threads2.c:105: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.
   unsigned char palette[256][3], const int y)
data/allegro5-5.2.6.0/examples/ex_threads2.c:154: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.
   unsigned char palette[256][3];
data/allegro5-5.2.6.0/examples/ex_timer.c:55:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char message[1024];
data/allegro5-5.2.6.0/examples/ex_utf8.c:368:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[4];
data/allegro5-5.2.6.0/examples/ex_utf8.c:1182:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char str[256];
data/allegro5-5.2.6.0/examples/ex_utf8.c:1226:11:  [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).
      i = atoi(argv[1]);
data/allegro5-5.2.6.0/examples/ex_vertex_buffer.c:55:10:  [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(lock_mem, new_vertices, sizeof(ALLEGRO_VERTEX) * NUM_VERTICES);
data/allegro5-5.2.6.0/examples/ex_vsync.c:17:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char str[256];
data/allegro5-5.2.6.0/examples/ex_vsync.c:21:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(str, "%d", v);
data/allegro5-5.2.6.0/examples/ex_window_title.c:29:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char   title[TITLE_SIZE] = "";
data/allegro5-5.2.6.0/examples/ex_window_title.c:102:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(title, "Title: %d", step);
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_file.h:17: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.
   unsigned char ungetc[ALLEGRO_UNGETC_SIZE];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_ljoynu.h:64:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[100];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:45:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   bool have_x;      TCHAR name_x[NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:46:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   bool have_y;      TCHAR name_y[NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:47:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   bool have_z;      TCHAR name_z[NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:48:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   bool have_rx;     TCHAR name_rx[NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:49:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   bool have_ry;     TCHAR name_ry[NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:50:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   bool have_rz;     TCHAR name_rz[NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:51:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   int num_sliders;  TCHAR name_slider[MAX_SLIDERS][NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:52:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   int num_povs;     TCHAR name_pov[MAX_POVS][NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:53:22:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   int num_buttons;  TCHAR name_button[MAX_BUTTONS][NAME_LEN];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:83:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[80];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoydxnu.h:84:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char all_names[512]; /* button/stick/axis names with NUL terminators */
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoyxi.h:43:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[80];
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wjoyxi.h:44:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char all_names[512]; /* button/stick/axis names with NUL terminators */
data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_defs.h:365: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  pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_defs.h:370: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 pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_defs.h:377: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 pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/allegro5-5.2.6.0/include/allegro5/opengl/GLext/glx_ext_defs.h:389: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 pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
data/allegro5-5.2.6.0/include/allegro5/platform/aldmc.h:78:4:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   wchar_t  name[260];           /* may include spaces. */
data/allegro5-5.2.6.0/include/allegro5/platform/alwatcom.h:80:46:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define dosmemget(offset, length, buffer)    memcpy(buffer, (void *)(offset), length)
data/allegro5-5.2.6.0/include/allegro5/platform/alwatcom.h:81:46:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define dosmemput(buffer, length, offset)    memcpy((void *)(offset), buffer, length)
data/allegro5-5.2.6.0/include/allegro5/platform/alwatcom.h:108: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.
      unsigned char edi[4], esi[4], ebp[4], res[4];
data/allegro5-5.2.6.0/include/allegro5/tls.h:54:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char _tls[1024];
data/allegro5-5.2.6.0/misc/msvchelp.c:12: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 shortfilename[MAX_PATH];
data/allegro5-5.2.6.0/misc/msvchelp.c:34: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).
    fout = fopen(MAKEFILE_HELPER_FILENAME, "wt");
data/allegro5-5.2.6.0/misc/vcvars.c:46:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char data[256], name[256];
data/allegro5-5.2.6.0/misc/vcvars.c:51:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(name, "Software\\Microsoft\\DevStudio\\%d.0\\Products\\Microsoft Visual C++", i);
data/allegro5-5.2.6.0/misc/vcvars.c:54: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(data, "\\bin\\vcvars32.bat");
data/allegro5-5.2.6.0/misc/vcvars.c:98:4:  [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(name, "VCVARS=");
data/allegro5-5.2.6.0/misc/vcvars.c:109:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char cmd[256];
data/allegro5-5.2.6.0/misc/vcvars.c:117:3:  [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(cmd, "cmd.exe /e:8192 /c");
data/allegro5-5.2.6.0/misc/vcvars.c:127:3:  [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(cmd, "command.com /e:8192 /c");
data/allegro5-5.2.6.0/src/android/android_keyboard.c:40:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char names[ALLEGRO_KEY_MAX][5];
data/allegro5-5.2.6.0/src/android/android_system.c:138:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 *argv[2] = {system_data.user_lib, NULL};
data/allegro5-5.2.6.0/src/android/android_system.c:590:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char buffer[25];
data/allegro5-5.2.6.0/src/bitmap.c:756: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(dst_ptr, src_ptr, width * block_size);
data/allegro5-5.2.6.0/src/bitmap_io.c:31:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char extension[MAX_EXTENSION];
data/allegro5-5.2.6.0/src/config.c:293:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[128];
data/allegro5-5.2.6.0/src/debug.c:65: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.
static char static_trace_buffer[2048];
data/allegro5-5.2.6.0/src/debug.c:177:34:  [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).
         trace_info.trace_file = fopen(s, "w");
data/allegro5-5.2.6.0/src/debug.c:184:34:  [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).
         trace_info.trace_file = fopen("allegro.log", "w");
data/allegro5-5.2.6.0/src/debug.c:258: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 pid_buf[16];
data/allegro5-5.2.6.0/src/display_settings.c:898:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(eds, _al_get_new_display_settings(), sizeof(*eds));
data/allegro5-5.2.6.0/src/file.c:256: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.
   unsigned char b[2];
data/allegro5-5.2.6.0/src/file.c:271: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.
   unsigned char b[4];
data/allegro5-5.2.6.0/src/file.c:335: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.
   unsigned char b[2];
data/allegro5-5.2.6.0/src/file.c:350: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.
   unsigned char b[4];
data/allegro5-5.2.6.0/src/file.c:460:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[128];
data/allegro5-5.2.6.0/src/file_stdio.c:56:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char errmsg[80];
data/allegro5-5.2.6.0/src/file_stdio.c:121:9:  [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(path, mode);
data/allegro5-5.2.6.0/src/file_stdio.c:433:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      fd = open(al_path_cstr(path, ALLEGRO_NATIVE_PATH_SEP),
data/allegro5-5.2.6.0/src/file_stdio.c:436:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      fd = open(al_path_cstr(path, ALLEGRO_NATIVE_PATH_SEP),
data/allegro5-5.2.6.0/src/fshook_stdio.c:181:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char cwd[PATH_MAX];
data/allegro5-5.2.6.0/src/fshook_stdio.c:252:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(fh->abs_path, abs_path, len * sizeof(WRAP_CHAR));
data/allegro5-5.2.6.0/src/fshook_stdio.c:426:7:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      wchar_t buf[MAX_PATH];
data/allegro5-5.2.6.0/src/fshook_stdio.c:446: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(buf, fp_stdio->abs_path, abs_path_len);
data/allegro5-5.2.6.0/src/fshook_stdio.c:451:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
         memcpy(buf + abs_path_len, ent->d_name, ent_name_len);
data/allegro5-5.2.6.0/src/fshook_stdio.c:457:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
         memcpy(buf + abs_path_len + 1, ent->d_name, ent_name_len);
data/allegro5-5.2.6.0/src/fshook_stdio.c:539:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmpdir[PATH_MAX];
data/allegro5-5.2.6.0/src/keybdnu.c:43: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 *_al_keyboard_common_names[/* leave empty */] =
data/allegro5-5.2.6.0/src/linux/lconsole.c:55:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[16];
data/allegro5-5.2.6.0/src/linux/lconsole.c:80:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp[256];
data/allegro5-5.2.6.0/src/linux/lconsole.c:92:36:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      if ((__al_linux_console_fd = open("/dev/tty", O_RDWR)) < 0) {
data/allegro5-5.2.6.0/src/linux/lconsole.c:100: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 tty_name[16];
data/allegro5-5.2.6.0/src/linux/lconsole.c:121:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      if ((console_fd = open ("/dev/console", O_WRONLY)) < 0) {
data/allegro5-5.2.6.0/src/linux/lconsole.c:129:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	     if ((console_fd = open (tty_name, O_WRONLY)) >= 0)
data/allegro5-5.2.6.0/src/linux/lconsole.c:157:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	    if ((fd = open (tty_name, O_RDWR)) != -1) {
data/allegro5-5.2.6.0/src/linux/lconsole.c:199:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      fd = open (tty_name, O_RDWR);
data/allegro5-5.2.6.0/src/linux/lconsole.c:239:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char msg[256];
data/allegro5-5.2.6.0/src/linux/ljoynu.c:237:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char key[80];
data/allegro5-5.2.6.0/src/linux/ljoynu.c:468:13:  [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).
   int fd = open(al_cstr(device_name), O_RDWR|O_NONBLOCK);
data/allegro5-5.2.6.0/src/linux/ljoynu.c:495:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(joy->name, "Unknown");
data/allegro5-5.2.6.0/src/linux/ljoynu.c:639:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[128];
data/allegro5-5.2.6.0/src/linux/lkeybdnu.c:148: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.
static unsigned char kernel_to_mycode[128] =
data/allegro5-5.2.6.0/src/linux/lkeybdnu.c:195: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.
static const char pad_asciis[NUM_PAD_KEYS] =
data/allegro5-5.2.6.0/src/linux/lkeybdnu.c:200: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.
static const char pad_asciis_no_numlock[NUM_PAD_KEYS] =
data/allegro5-5.2.6.0/src/linux/lkeybdnu.c:319:22:  [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).
   the_keyboard.fd = open("/dev/tty", O_RDWR);
data/allegro5-5.2.6.0/src/linux/lkeybdnu.c:503: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.
      unsigned char buf[128];
data/allegro5-5.2.6.0/src/linux/lmemory.c:41:11:  [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).
	mem_fd = open ("/dev/mem", O_RDWR);
data/allegro5-5.2.6.0/src/linux/lmouse.c:189: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.
   static unsigned char buf[1024];
data/allegro5-5.2.6.0/src/linux/lmseev.c:277:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp1[256]; /* config string */
data/allegro5-5.2.6.0/src/linux/lmseev.c:278:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp2[256]; /* format string */
data/allegro5-5.2.6.0/src/linux/lmseev.c:279:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char tmp3[256]; /* Converted 'name' */
data/allegro5-5.2.6.0/src/linux/lmseev.c:511:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
   fd = open (device_file, O_RDONLY | O_NONBLOCK);
data/allegro5-5.2.6.0/src/linux/lmsegpmd.c:102: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 tmp1[128], tmp2[128], tmp3[128];
data/allegro5-5.2.6.0/src/linux/lmsegpmd.c:111:18:  [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).
	intdrv.device = open (uconvert_toascii (udevice, tmp1), O_RDONLY | O_NONBLOCK);
data/allegro5-5.2.6.0/src/linux/lmsems.c:153:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char tmp1[128], tmp2[128], tmp3[128];
data/allegro5-5.2.6.0/src/linux/lmsems.c:163:18:  [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).
	intdrv.device = open (uconvert_toascii (udevice, tmp1), O_RDONLY | O_NONBLOCK);
data/allegro5-5.2.6.0/src/linux/lmseps2.c:173: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 tmp1[128], tmp2[128];
data/allegro5-5.2.6.0/src/linux/lmseps2.c:190:19:  [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).
		intdrv.device = open (uconvert_toascii (udevice, tmp1), flags);
data/allegro5-5.2.6.0/src/linux/lmseps2.c:195:20:  [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).
			intdrv.device = open (default_devices[n], flags);
data/allegro5-5.2.6.0/src/misc/bstrlib.c:51:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define bstr__memcpy(d,s,l) memcpy ((d), (s), (l))
data/allegro5-5.2.6.0/src/misc/bstrlib.c:714:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		if (b0->data[i] != ((const unsigned char *) blk)[i]) {
data/allegro5-5.2.6.0/src/misc/bstrlib.c:716:35:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			    downcase (((const unsigned char *) blk)[i])) return 0;
data/allegro5-5.2.6.0/src/misc/bstrlib.c:825:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		if (b0->data[i] != ((const unsigned char *) blk)[i]) return _AL_BSTR_OK;
data/allegro5-5.2.6.0/src/misc/bstrlib.c:1294:29:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct charField { unsigned char content[CFCLEN]; };
data/allegro5-5.2.6.0/src/misc/vector.c:146:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(vec->_items + (vec->_size * vec->_itemsize),
data/allegro5-5.2.6.0/src/opengl/extensions.c:177:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[80];
data/allegro5-5.2.6.0/src/opengl/ogl_bitmap.c:983:10:  [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(p2, p, line_size);
data/allegro5-5.2.6.0/src/opengl/ogl_bitmap.c:1128: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(dst, src, pixsize * w);
data/allegro5-5.2.6.0/src/opengl/ogl_shader.c:455: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 user_attr_name[sizeof(ALLEGRO_SHADER_VAR_USER_ATTR "999")];
data/allegro5-5.2.6.0/src/pixels.c:235: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.
static char const *pixel_format_names[ALLEGRO_NUM_PIXEL_FORMATS + 1] = {
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:57: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(p1, p2, spitch);
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:195:20:  [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).
   FILE *cmdline = fopen("/proc/cmdline", "r");
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:197: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 line[1000];
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:211:21:  [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).
            int w = atoi(p);
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:212:21:  [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).
            int h = atoi(p2);
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:225:22:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                     atoi(disable_overscan) == 0))) {
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:234:35:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                  int xx = left ? atoi(left) : 0;
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:235:33:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                  xx -= right ? atoi(right) : 0;
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:236:34:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                  int yy = top ? atoi(top) : 0;
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:237:34:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                  yy -= bottom ? atoi(bottom) : 0;
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:692: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(p2, p, pitch);
data/allegro5-5.2.6.0/src/shader.c:108: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[512];
data/allegro5-5.2.6.0/src/system.c:51: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.
static char _al_app_name[256] = "";
data/allegro5-5.2.6.0/src/system.c:52: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.
static char _al_org_name[256] = "";
data/allegro5-5.2.6.0/src/tls.c:102:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char new_window_title[ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE + 1];
data/allegro5-5.2.6.0/src/transformations.c:35:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(dest, src, sizeof(ALLEGRO_TRANSFORM));
data/allegro5-5.2.6.0/src/unix/upath.c:145:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char linkname[1024];
data/allegro5-5.2.6.0/src/unix/upath.c:146:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char filename[1024];
data/allegro5-5.2.6.0/src/unix/upath.c:148:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(linkname, "/proc/%d/exe", (int)pid);
data/allegro5-5.2.6.0/src/unix/upath.c:161:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(linkname, "/proc/%d/exe", (int)pid);
data/allegro5-5.2.6.0/src/unix/upath.c:162:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
   fd = open(linkname, O_RDONLY);
data/allegro5-5.2.6.0/src/unix/upath.c:201:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char command[1024];
data/allegro5-5.2.6.0/src/unix/upath.c:202:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(command, "ps -p %d", (int)pid);
data/allegro5-5.2.6.0/src/unix/upath.c:250: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[PATH_MAX];
data/allegro5-5.2.6.0/src/unix/upath.c:300:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
   fd = open(al_path_cstr(xdg_config_path, '/'), O_RDONLY);
data/allegro5-5.2.6.0/src/unix/upath.c:309: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 line[XDG_MAX_PATH_LEN];      /* one line of the config file */
data/allegro5-5.2.6.0/src/unix/upath.c:311: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 component[XDG_MAX_PATH_LEN]; /* the path component being parsed */      
data/allegro5-5.2.6.0/src/utf8.c:659:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char encc[4];
data/allegro5-5.2.6.0/src/utf8.c:690:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char encc[4];
data/allegro5-5.2.6.0/src/win/d3d_bmp.cpp:464: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(
data/allegro5-5.2.6.0/src/win/d3d_d3dx9.cpp:55:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char module_name[16];
data/allegro5-5.2.6.0/src/win/d3d_d3dx9.cpp:67:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(module_name, "d3dx9_%d.dll", version);
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:1685: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(&al_display->extra_settings, eds, sizeof al_display->extra_settings);
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:2113: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(&rgndata->rdh.rcBound, &rect, sizeof(RECT));
data/allegro5-5.2.6.0/src/win/d3d_disp.cpp:2114: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(rgndata->Buffer, &rect, sizeof(RECT));
data/allegro5-5.2.6.0/src/win/d3d_shader.cpp:371:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(m.m, matrix->m, sizeof(float)*16);
data/allegro5-5.2.6.0/src/win/wgl_disp.c:872:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(&d->win_display.display.extra_settings, eds[i], sizeof(ALLEGRO_EXTRA_DISPLAY_SETTINGS));
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:278: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.
static const char *default_name_button[MAX_BUTTONS] = {
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:292:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char buf[200];
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:294:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "%lx-%x-%x-%x%x%x%x%x%x%x%x",
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:325:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char err_str[64];
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:752: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 device_name[128];
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:930:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(&joy->guid, &lpddi->guidInstance, sizeof(GUID));
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:931:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(&joy->product_guid, &lpddi->guidProduct, sizeof(GUID));
data/allegro5-5.2.6.0/src/win/wjoyxi.c:139: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.
static char *const joyxi_stick_names[MAX_STICKS] = {
data/allegro5-5.2.6.0/src/win/wjoyxi.c:147: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.
static char *const joyxi_axis_names[MAX_STICKS][MAX_AXES] = {
data/allegro5-5.2.6.0/src/win/wjoyxi.c:196:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char module_name[16];
data/allegro5-5.2.6.0/src/win/wjoyxi.c:198:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(module_name, "xinput1_%d.dll", version);
data/allegro5-5.2.6.0/src/win/wjoyxi.c:570:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(joyxi_joysticks[index].name, "XInput Joystick %d", index);
data/allegro5-5.2.6.0/src/win/wkeyboard.c:39:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 unsigned char hw_to_mycode[256] =
data/allegro5-5.2.6.0/src/win/wsystem.c:639:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char path[MAX_PATH];
data/allegro5-5.2.6.0/src/win/wsystem.c:640:4:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   wchar_t pathw[MAX_PATH];
data/allegro5-5.2.6.0/src/win/wsystem.c:814:4:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   TCHAR buf[MAX_PATH];
data/allegro5-5.2.6.0/src/win/wsystem.c:815:10:  [2] (buffer) TCHAR:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 TCHAR *other_dirs[3];
data/allegro5-5.2.6.0/src/win/wsystem.c:934:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   static char buf[2048];
data/allegro5-5.2.6.0/src/win/wunicode.c:38:12:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   wslen = MultiByteToWideChar(CP_UTF8, 0, us, uslen, NULL, 0);
data/allegro5-5.2.6.0/src/win/wunicode.c:50:13:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   if (0 == MultiByteToWideChar(CP_UTF8, 0, us, uslen, ws, wslen)) {
data/allegro5-5.2.6.0/src/win/wunicode.c:75:12:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   wslen = MultiByteToWideChar(CP_UTF8, 0, us, uslen, NULL, 0);
data/allegro5-5.2.6.0/src/win/wunicode.c:85:13:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   if (0 == MultiByteToWideChar(CP_UTF8, 0, us, uslen, ws, wslen)) {
data/allegro5-5.2.6.0/src/win/wunicode.c:126:12:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   wslen = MultiByteToWideChar(CP_UTF8, 0, us, -1, NULL, 0);
data/allegro5-5.2.6.0/src/win/wunicode.c:136:13:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   if (0 == MultiByteToWideChar(CP_UTF8, 0, us, -1, ws, wslen)) {
data/allegro5-5.2.6.0/src/win/wunicode.c:184:12:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   wslen = MultiByteToWideChar(CP_UTF8, 0, us, -1, NULL, 0);
data/allegro5-5.2.6.0/src/win/wunicode.c:194:13:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   if (0 == MultiByteToWideChar(CP_UTF8, 0, us, -1, ws, wslen)) {
data/allegro5-5.2.6.0/src/win/wunicode.c:233:12:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   wslen = MultiByteToWideChar(CP_ACP, 0, s, -1, NULL, 0);
data/allegro5-5.2.6.0/src/win/wunicode.c:243:13:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
   if (0 == MultiByteToWideChar(CP_ACP, 0, s, -1, ws, wslen)) {
data/allegro5-5.2.6.0/src/win/wunicode.c:291:17:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    int wslen = MultiByteToWideChar(CP_UTF8, 0, us, -1, NULL, 0);
data/allegro5-5.2.6.0/src/win/wunicode.c:301:5:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    MultiByteToWideChar(CP_UTF8, 0, us, -1, ws, wslen);
data/allegro5-5.2.6.0/src/win/wunicode.c:313:17:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    int wslen = MultiByteToWideChar(CP_ACP, 0, s, -1, NULL, 0);
data/allegro5-5.2.6.0/src/win/wunicode.c:323:5:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    MultiByteToWideChar(CP_ACP, 0, s, -1, ws, wslen);
data/allegro5-5.2.6.0/src/x/xclipboard.c:204:13:  [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(text, src, nbytes);
data/allegro5-5.2.6.0/src/x/xdisplay.c:1176: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 *list[1] = { (char *) title };
data/allegro5-5.2.6.0/src/x/xglx_config.c:253: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(eds[j]->info, &fbconfig[i], sizeof(GLXFBConfig));
data/allegro5-5.2.6.0/src/x/xglx_config.c:385: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(eds[j]->info, xv + i, sizeof(XVisualInfo));
data/allegro5-5.2.6.0/src/x/xglx_config.c:425: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(glx->fbc, eds[0]->info, sizeof(GLXFBConfig));
data/allegro5-5.2.6.0/src/x/xglx_config.c:431: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(glx->xvinfo, eds[0]->info, sizeof(XVisualInfo));
data/allegro5-5.2.6.0/src/x/xglx_config.c:435:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(&glx->display.extra_settings, eds[0], sizeof(ALLEGRO_EXTRA_DISPLAY_SETTINGS));
data/allegro5-5.2.6.0/src/x/xkeyboard.c:283: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.
static char const *key_names[ALLEGRO_KEY_MAX];
data/allegro5-5.2.6.0/src/x/xkeyboard.c:360:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char str[1024];
data/allegro5-5.2.6.0/src/x/xkeyboard.c:361:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(str, "Key %i missing:", i);
data/allegro5-5.2.6.0/src/x/xkeyboard.c:421: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 buffer[16];
data/allegro5-5.2.6.0/src/x/xkeyboard.c:578: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 str[1024];
data/allegro5-5.2.6.0/src/x/xkeyboard.c:635: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 str[1024];
data/allegro5-5.2.6.0/src/x/xkeyboard.c:636:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(str, "Modifier %d:", i + 1);
data/allegro5-5.2.6.0/src/x/xkeyboard.c:729:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(key_names, _al_keyboard_common_names, sizeof key_names);
data/allegro5-5.2.6.0/src/x/xmousenu.c:173: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.
   unsigned char map[32];
data/allegro5-5.2.6.0/src/x/xmousenu.c:186:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char debug[num_buttons * 4 + 1];
data/allegro5-5.2.6.0/src/x/xmousenu.c:190:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(debug + strlen(debug), "%2d,", map[i]);
data/allegro5-5.2.6.0/src/x/xsystem.c:47:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[100];
data/allegro5-5.2.6.0/tests/test_driver.c:111:19:  [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).
#define I(a)      atoi(V(a))
data/allegro5-5.2.6.0/tests/test_driver.c:263:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(value);
data/allegro5-5.2.6.0/tests/test_driver.c:306:11:  [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(value);
data/allegro5-5.2.6.0/tests/test_driver.c:319:11:  [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(value);
data/allegro5-5.2.6.0/tests/test_driver.c:327:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(value);
data/allegro5-5.2.6.0/tests/test_driver.c:342:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(value);
data/allegro5-5.2.6.0/tests/test_driver.c:407:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(v);
data/allegro5-5.2.6.0/tests/test_driver.c:414:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(v);
data/allegro5-5.2.6.0/tests/test_driver.c:447:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(v);
data/allegro5-5.2.6.0/tests/test_driver.c:457:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char arg[14][MAXBUF];
data/allegro5-5.2.6.0/tests/test_driver.c:529:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(value);
data/allegro5-5.2.6.0/tests/test_driver.c:535:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[40];
data/allegro5-5.2.6.0/tests/test_driver.c:536:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "%d", value);
data/allegro5-5.2.6.0/tests/test_driver.c:543:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[40];
data/allegro5-5.2.6.0/tests/test_driver.c:544:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(buf, "%f", value);
data/allegro5-5.2.6.0/tests/test_driver.c:553:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[MAXBUF];
data/allegro5-5.2.6.0/tests/test_driver.c:561:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf, "v%d", i);
data/allegro5-5.2.6.0/tests/test_driver.c:585:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[MAXBUF];
data/allegro5-5.2.6.0/tests/test_driver.c:592:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf, "v%d", i);
data/allegro5-5.2.6.0/tests/test_driver.c:613:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[MAXBUF];
data/allegro5-5.2.6.0/tests/test_driver.c:620:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf, "p%d", i);
data/allegro5-5.2.6.0/tests/test_driver.c:642:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(value);
data/allegro5-5.2.6.0/tests/test_driver.c:651:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(value);
data/allegro5-5.2.6.0/tests/test_driver.c:661:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      : atoi(value);
data/allegro5-5.2.6.0/tests/test_driver.c:728: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.
static char const base64[64] =
data/allegro5-5.2.6.0/tests/test_driver.c:742:52:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 void compute_signature(ALLEGRO_BITMAP *bmp, char sig[SIG_LENZ])
data/allegro5-5.2.6.0/tests/test_driver.c:766:32:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static bool similar_signatures(char const sig1[SIG_LEN], char const sig2[SIG_LEN])
data/allegro5-5.2.6.0/tests/test_driver.c:766:58:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 bool similar_signatures(char const sig1[SIG_LEN], char const sig2[SIG_LEN])
data/allegro5-5.2.6.0/tests/test_driver.c:792:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char hash[16];
data/allegro5-5.2.6.0/tests/test_driver.c:793:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char sig[SIG_LENZ];
data/allegro5-5.2.6.0/tests/test_driver.c:807:4:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
   sprintf(hash, "%08x", hash_bitmap(bmp));
data/allegro5-5.2.6.0/tests/test_driver.c:886: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 hash[16];
data/allegro5-5.2.6.0/tests/test_driver.c:887: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 sig[SIG_LENZ];
data/allegro5-5.2.6.0/tests/test_driver.c:888:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(hash, "%08x", hash_bitmap(bmp1));
data/allegro5-5.2.6.0/tests/test_driver.c:925: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 hash[16];
data/allegro5-5.2.6.0/tests/test_driver.c:926: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 sig[SIG_LENZ];
data/allegro5-5.2.6.0/tests/test_driver.c:927:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(hash, "%08x", hash_bitmap(bmp1));
data/allegro5-5.2.6.0/tests/test_driver.c:952:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[MAXBUF];
data/allegro5-5.2.6.0/tests/test_driver.c:953:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char arg[14][MAXBUF];
data/allegro5-5.2.6.0/tests/test_driver.c:954:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char lval[MAXBUF];
data/allegro5-5.2.6.0/tests/test_driver.c:966:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(buf, "op%d", op);
data/allegro5-5.2.6.0/tests/test_driver.c:970:10:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
         sprintf(buf, "op%d", op+1);
data/allegro5-5.2.6.0/tests/test_driver.c:1517:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
         char hex[100];
data/allegro5-5.2.6.0/tests/test_driver.c:1518:10:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
         sprintf(hex, "%f/%f/%f", rgb.r, rgb.g, rgb.b);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:299:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char dest_file[1024];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:341:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char datafile[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:342:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:343:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_dir[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:344:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_contents_dir[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:345:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_contents_resources_dir[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:346:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_contents_macos_dir[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:347:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_contents_frameworks_dir[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:349:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_plist[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:350:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_pkginfo[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:351:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_icns[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:352:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_version[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:353:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char bundle_long_version[MAX_STRING_SIZE];
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:402:11:  [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).
	 switch (atoi(&argv[arg][1])) {
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:437:4:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
   strcat(bundle_contents_dir, "/Contents");
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:439:4:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
   strcat(bundle_contents_resources_dir, "/Resources");
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:441:4:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
   strcat(bundle_contents_macos_dir, "/MacOS");
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:443:4:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
   strcat(bundle_contents_frameworks_dir, "/Frameworks");
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:553:9:  [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(*raw_data + size, *raw_data, size);
data/allegro5-5.2.6.0/tools/win/wfixicon.c:189:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char dat_name[128], rc_name[128], res_name[128], str[256];
data/allegro5-5.2.6.0/tools/x11/xf2pcx.c:111:15:  [2] (integer) atol:
  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).
	    ccolor = atol(optarg);
data/allegro5-5.2.6.0/tools/x11/xf2pcx.c:114:15:  [2] (integer) atol:
  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).
	    bcolor = atol(optarg);
data/allegro5-5.2.6.0/tools/x11/xf2pcx.c:117:15:  [2] (integer) atol:
  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).
	    gcolor = atol(optarg);
data/allegro5-5.2.6.0/tools/x11/xkeymap.c:26: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 unicode_description[256] = "";
data/allegro5-5.2.6.0/tools/x11/xkeymap.c:202:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char *section, *option_format, option[80], tmp1[80], tmp2[80];
data/allegro5-5.2.6.0/tools/x11/xkeymap.c:219:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char name[80];
data/allegro5-5.2.6.0/tools/x11/xkeymap.c:223:7:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
      sprintf(name, "key%d", i);
data/allegro5-5.2.6.0/addons/acodec/ogg.c:243:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   long read;
data/allegro5-5.2.6.0/addons/acodec/ogg.c:289:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      pos += read;
data/allegro5-5.2.6.0/addons/acodec/ogg.c:401:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   unsigned long read;
data/allegro5-5.2.6.0/addons/acodec/ogg.c:421:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      pos += read;
data/allegro5-5.2.6.0/addons/acodec/opus.c:213:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   long read;
data/allegro5-5.2.6.0/addons/acodec/opus.c:251:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      pos += read;
data/allegro5-5.2.6.0/addons/acodec/opus.c:347:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   long read;
data/allegro5-5.2.6.0/addons/acodec/opus.c:362:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      pos += read * channels;
data/allegro5-5.2.6.0/addons/acodec/voc.c:294:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      pos += read;
data/allegro5-5.2.6.0/addons/audio/audio_io.c:93:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(ext) + 1 >= MAX_EXTENSION_LENGTH) {
data/allegro5-5.2.6.0/addons/audio/audio_io.c:120:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(ext) + 1 >= MAX_EXTENSION_LENGTH) {
data/allegro5-5.2.6.0/addons/audio/audio_io.c:147:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(ext) + 1 >= MAX_EXTENSION_LENGTH) {
data/allegro5-5.2.6.0/addons/audio/audio_io.c:174:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(ext) + 1 >= MAX_EXTENSION_LENGTH) {
data/allegro5-5.2.6.0/addons/audio/audio_io.c:202:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(ext) + 1 >= MAX_EXTENSION_LENGTH) {
data/allegro5-5.2.6.0/addons/audio/audio_io.c:230:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(ext) + 1 >= MAX_EXTENSION_LENGTH) {
data/allegro5-5.2.6.0/addons/audio/kcm_mixer.c:123:10:  [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(debug, "");
data/allegro5-5.2.6.0/addons/audio/kcm_mixer.c:125:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            sprintf(debug + strlen(debug), " %f", mat[i][j]);
data/allegro5-5.2.6.0/addons/audio/oss.c:163: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).
         if (strlen(audioinfo.devnode)) {
data/allegro5-5.2.6.0/addons/audio/oss.c:164:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(oss_audio_device, audioinfo.devnode, 511);
data/allegro5-5.2.6.0/addons/audio/oss.c:228:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(oss_audio_device, oss_audio_device_ver3, 511);
data/allegro5-5.2.6.0/addons/color/color.c:553:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(ptr) != 6)
data/allegro5-5.2.6.0/addons/image/gdiplus.cpp:119:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
         *pcbRead = read;
data/allegro5-5.2.6.0/addons/native_dialog/menu.c:229:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      else if (strlen(info->caption) > 2 &&
data/allegro5-5.2.6.0/addons/native_dialog/menu.c:230:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         !strncmp("->", info->caption + strlen(info->caption) - 2, 2)) {
data/allegro5-5.2.6.0/addons/physfs/a5_physfs.c:53:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(fp->error_msg, msg, sizeof(fp->error_msg));
data/allegro5-5.2.6.0/addons/physfs/a5_physfs_dir.c:92:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   size_t size = strlen(fs_phys_cwd) + 1;
data/allegro5-5.2.6.0/addons/primitives/nshader.cpp:167:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  file.read((char*)&technique.binary.front(), technique.binary.size());
data/allegro5-5.2.6.0/addons/ttf/ttf.c:959: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).
       cache_glyphs(data, cache_str, strlen(cache_str));
data/allegro5-5.2.6.0/addons/video/video.c:97:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   const char *extension = filename + strlen(filename) - 1;
data/allegro5-5.2.6.0/demos/cosmic_protector/src/GUI.cpp:188:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            if (v && strlen(v) <= 3) {
data/allegro5-5.2.6.0/demos/skater/src/credits.c:63:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         size += strlen(l->text) + strlen(eol);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:63: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).
         size += strlen(l->text) + strlen(eol);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:65:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         size += strlen(gap) + strlen(eol);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:65:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         size += strlen(gap) + strlen(eol);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:125: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).
      title_size = strlen(title_text);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:134: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).
            for (i = strlen(s) - 1; (safe_isspace(s[i])) || (s[i] == '='); i--)
data/allegro5-5.2.6.0/demos/skater/src/credits.c:155:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         for (i = strlen(s) - 1; (i >= 0) && (isspace(s[i])); i--)
data/allegro5-5.2.6.0/demos/skater/src/credits.c:161: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).
            l->text = malloc(strlen(s) + 1);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:178:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   title_size = strlen(intro_msg);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:184:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            strlen(sect[i].flat) + strlen(sect[i].desc) +
data/allegro5-5.2.6.0/demos/skater/src/credits.c:184: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).
            strlen(sect[i].flat) + strlen(sect[i].desc) +
data/allegro5-5.2.6.0/demos/skater/src/credits.c:185:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            strlen(splitter) + strlen(marker) * 2 + 2;
data/allegro5-5.2.6.0/demos/skater/src/credits.c:185:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            strlen(splitter) + strlen(marker) * 2 + 2;
data/allegro5-5.2.6.0/demos/skater/src/credits.c:197:10:  [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(title_text, " ");
data/allegro5-5.2.6.0/demos/skater/src/credits.c:199:10:  [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(title_text, " ");
data/allegro5-5.2.6.0/demos/skater/src/credits.c:284:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         memmove(p + 1, p + 3, strlen(p + 2));
data/allegro5-5.2.6.0/demos/skater/src/credits.c:289:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         memmove(p + 1, p + 3, strlen(p + 2));
data/allegro5-5.2.6.0/demos/skater/src/credits.c:308: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).
         c->name = malloc(strlen(p) + 1);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:317: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).
            p2 = p + strlen(p) - 1;
data/allegro5-5.2.6.0/demos/skater/src/credits.c:322:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
               c->text = realloc(c->text, strlen(c->text) + strlen(p) + 2);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:322:61:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
               c->text = realloc(c->text, strlen(c->text) + strlen(p) + 2);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:323:16:  [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(c->text, " ");
data/allegro5-5.2.6.0/demos/skater/src/credits.c:326: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).
               c->text = malloc(strlen(p) + 1);
data/allegro5-5.2.6.0/demos/skater/src/credits.c:460: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).
      c2 = strlen(p);
data/allegro5-5.2.6.0/demos/skater/src/framework.c:89:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(config_path, al_path_cstr(path, '/'), DEMO_PATH_LENGTH);
data/allegro5-5.2.6.0/demos/skater/src/framework.c:95:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
   strncpy(data_path, "/data", DEMO_PATH_LENGTH);
data/allegro5-5.2.6.0/demos/skater/src/framework.c:102:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(data_path, al_path_cstr(path, '/'), DEMO_PATH_LENGTH);
data/allegro5-5.2.6.0/demos/skater/src/level.c:407:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (!strlen(ErrorText))
data/allegro5-5.2.6.0/demos/skater/src/menu.c:271:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            l = strlen(item->name);
data/allegro5-5.2.6.0/demos/skater/src/menu.c:284:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            l = strlen(item->name);
data/allegro5-5.2.6.0/demos/skater/src/token.c:167: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).
      if (al_feof(input) || (strlen(Token.Text) == 255))
data/allegro5-5.2.6.0/demos/speed/hiscore.c:56:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(names[i], get_config_string(cfg, "hiscore", buf1, "Shawn Hargreaves"), MAX_NAME_LEN);
data/allegro5-5.2.6.0/demos/speed/hiscore.c:122: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).
      x = strlen(yourname)*8 + 8;
data/allegro5-5.2.6.0/demos/speed/hiscore.c:251: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).
	    else if (((c >> 8) == ALLEGRO_KEY_BACKSPACE) && (strlen(yourname) > 0)) {
data/allegro5-5.2.6.0/demos/speed/hiscore.c:252:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	       yourname[strlen(yourname)-1] = 0;
data/allegro5-5.2.6.0/demos/speed/hiscore.c:255:62:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    else if (((c & 0xFF) >= ' ') && ((c & 0xFF) <= '~') && (strlen(yourname) < MAX_NAME_LEN)) {
data/allegro5-5.2.6.0/demos/speed/hiscore.c:256:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	       yourname[strlen(yourname)+1] = 0;
data/allegro5-5.2.6.0/demos/speed/hiscore.c:257:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	       yourname[strlen(yourname)] = (c & 0xFF);
data/allegro5-5.2.6.0/demos/speed/message.c:92:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (m->x > SCREEN_W + strlen(m->text)/4) {
data/allegro5-5.2.6.0/docs/scripts/aatree.c:17: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).
   size_t n = strlen(s);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:113:11:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      c = fgetc(d_file);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:189: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).
   memmove(to, from, strlen(from) + 1);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:247:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(d_submatches[i], match.begin, match.len);
data/allegro5-5.2.6.0/docs/scripts/dawk.c:268: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).
   const char *p = s + strlen(s);
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:109:10:  [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(pandoc_options, " ");
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:113:13:  [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(pandoc_options, " ");
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:145:10:  [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(text, "\n");
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:150: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).
         if (strlen(text) == 0) {
data/allegro5-5.2.6.0/docs/scripts/make_doc.c:250:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(input_native) > 2
data/allegro5-5.2.6.0/docs/scripts/make_index.c:15: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).
   size_t n = strlen(s);
data/allegro5-5.2.6.0/docs/scripts/make_man.c:53:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         int n = strlen(d_submatch(1));
data/allegro5-5.2.6.0/docs/scripts/make_man.c:72:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            output_level = strlen(hashes);
data/allegro5-5.2.6.0/docs/scripts/trex.c:13:18:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define scstrlen wcslen
data/allegro5-5.2.6.0/docs/scripts/trex.c:18:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define scstrlen strlen
data/allegro5-5.2.6.0/docs/scripts/trex.h:34:21:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define trex_strlen wcslen
data/allegro5-5.2.6.0/docs/scripts/trex.h:40: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).
#define trex_strlen strlen
data/allegro5-5.2.6.0/examples/ex_config.c:51:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   TEST("long value", value && strlen(value) == 1394);
data/allegro5-5.2.6.0/examples/ex_file_slice.c:55: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).
   pack_object(master, first_string, strlen(first_string));
data/allegro5-5.2.6.0/examples/ex_file_slice.c:56:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   pack_object(master, second_string, strlen(second_string));
data/allegro5-5.2.6.0/examples/ex_glext.c:281:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                        strlen(program_nv), program_nv);
data/allegro5-5.2.6.0/examples/ex_glext.c:285:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                        strlen(program), program);
data/allegro5-5.2.6.0/examples/ex_joystick_events.c:118:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (strlen(name) < 4) {
data/allegro5-5.2.6.0/examples/ex_logo.c:429:10:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         strncpy(param_values[i], value, sizeof(param_values[i]));
data/allegro5-5.2.6.0/examples/ex_logo.c:461: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).
               cursor = strlen(param_values[selection]);
data/allegro5-5.2.6.0/examples/ex_logo.c:468: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).
               cursor = strlen(param_values[selection]);
data/allegro5-5.2.6.0/examples/ex_logo.c:475: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).
               cursor = strlen(param_values[selection]);
data/allegro5-5.2.6.0/examples/ex_logo.c:487:25:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                        strncpy(param_values[selection], al_cstr(u),
data/allegro5-5.2.6.0/examples/ex_logo.c:497:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
                  strncpy(param_values[selection], al_cstr(u),
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wunicode.h:26:28:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _twin_tchar_strlen wcslen
data/allegro5-5.2.6.0/include/allegro5/internal/aintern_wunicode.h:33:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _twin_tchar_strlen strlen
data/allegro5-5.2.6.0/include/allegro5/internal/bstrlib.h:227: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).
    (t).slen = ((t).data) ? ((int) (strlen) ((char *)(t).data)) : 0; \
data/allegro5-5.2.6.0/misc/askq.c:28:11:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      i = getc(stdin);
data/allegro5-5.2.6.0/misc/vcvars.c:79: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).
	    i = strlen(data) - 12;
data/allegro5-5.2.6.0/misc/vcvars.c:137: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(cmd, " ");
data/allegro5-5.2.6.0/src/android/android_apk_fs.c:155: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).
   int n = strlen(e->path_cstr);
data/allegro5-5.2.6.0/src/android/android_apk_fs.c:198:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   e->file_list = al_malloc(strlen(cs) + 1);
data/allegro5-5.2.6.0/src/android/android_apk_fs.c:230: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).
      e->file_list_pos = name + strlen(name);
data/allegro5-5.2.6.0/src/android/android_system.c:592:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
   strncpy(buffer, al_cstr(s), 25);
data/allegro5-5.2.6.0/src/bitmap_io.c:66:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(extension) + 1 >= MAX_EXTENSION) {
data/allegro5-5.2.6.0/src/debug.c:195: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).
   int s = strlen(static_trace_buffer);
data/allegro5-5.2.6.0/src/debug.c:294: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).
   int s = strlen(static_trace_buffer);
data/allegro5-5.2.6.0/src/file.c:486:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   n = strlen(p);
data/allegro5-5.2.6.0/src/file_stdio.c:171:15:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      int c = fgetc(userdata->fp);
data/allegro5-5.2.6.0/src/file_stdio.c:397:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   size_t len = strlen(template);
data/allegro5-5.2.6.0/src/file_stdio.c:469: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).
   temp_filename = al_malloc(strlen(template) + 1);
data/allegro5-5.2.6.0/src/fshook_stdio.c:62:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   #define NAMLEN(dirent) (strlen((dirent)->d_name))
data/allegro5-5.2.6.0/src/fshook_stdio.c:103:38:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   #define WRAP_STRLEN(s)           (wcslen(s))
data/allegro5-5.2.6.0/src/fshook_stdio.c:118: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).
   #define WRAP_STRLEN(s)           (strlen(s))
data/allegro5-5.2.6.0/src/fshook_stdio.c:439: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).
      int abs_path_len = strlen(fp_stdio->abs_path);
data/allegro5-5.2.6.0/src/fshook_stdio.c:440: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).
      int ent_name_len = strlen(ent->d_name);
data/allegro5-5.2.6.0/src/fshook_stdio.c:547: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).
   cwd = al_malloc(strlen(tmpdir) + 1);
data/allegro5-5.2.6.0/src/libc.c:84:4:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
   strncat(dest, src, n - 1);
data/allegro5-5.2.6.0/src/linux/lconsole.c:250: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).
	    ret = write(STDERR_FILENO, msg, strlen(msg));
data/allegro5-5.2.6.0/src/linux/lconsole.c:253: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).
	 } while (ret < (int)strlen(msg));
data/allegro5-5.2.6.0/src/linux/ljoynu.c:556:48:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            if (t ==1 || strcmp(suffix, path + strlen(path) - strlen(suffix)) == 0) {
data/allegro5-5.2.6.0/src/linux/ljoynu.c:556:63:  [1] (buffer) strlen:
  Does not handle 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 (t ==1 || strcmp(suffix, path + strlen(path) - strlen(suffix)) == 0) {
data/allegro5-5.2.6.0/src/linux/ljoynu.c:646:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   while (read(inotify_fd, buf, sizeof(buf)) > 0) {
data/allegro5-5.2.6.0/src/linux/ljoynu.c:919:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while ((bytes = read(joy->fd, &input_events, sizeof input_events)) > 0) {
data/allegro5-5.2.6.0/src/linux/lkeybdnu.c:507:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      bytes_read = read(the_keyboard.fd, &buf, sizeof(buf));
data/allegro5-5.2.6.0/src/linux/lmouse.c:203:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   bytes_read = read(std_mouse.fd, &buf[bytes_in_buffer], sizeof(buf) - bytes_in_buffer);
data/allegro5-5.2.6.0/src/linux/lmseev.c:770:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while ((bytes = read(the_mouse.fd, &events, sizeof events)) > 0) {
data/allegro5-5.2.6.0/src/linux/lmsegpmd.c:92:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (result > 0) read (fd, &bitbucket, 1);
data/allegro5-5.2.6.0/src/linux/lmsems.c:143:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (result > 0) read (fd, &bitbucket, 1);
data/allegro5-5.2.6.0/src/linux/lmseps2.c:149:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (result > 0) read (fd, &bitbucket, 1);
data/allegro5-5.2.6.0/src/linux/lsystem.c:236:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ret = write(STDERR_FILENO, msg, strlen(msg));
data/allegro5-5.2.6.0/src/linux/lsystem.c:239: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).
   } while (ret < (int)strlen(msg));
data/allegro5-5.2.6.0/src/misc/bstrlib.c:198: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).
	j = (strlen) (str);
data/allegro5-5.2.6.0/src/misc/bstrlib.c:226: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).
	j = (strlen) (str);
data/allegro5-5.2.6.0/src/misc/bstrlib.c:390:49:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	return _al_bcatblk (b, (const void *) s, (int) strlen (s));
data/allegro5-5.2.6.0/src/misc/bstrlib.c:525:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	len = strlen (str + i);
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2797: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).
	if ((n = (int) (2*strlen (fmt))) < START_VSNBUFF) n = START_VSNBUFF;
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2809: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).
		buff->slen = (int) (strlen) ((char *) buff->data);
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2845: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).
	if ((n = (int) (2*strlen (fmt))) < START_VSNBUFF) n = START_VSNBUFF;
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2857: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).
		buff->slen = (int) (strlen) ((char *) buff->data);
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2892: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).
	if ((n = (int) (2*strlen (fmt))) < START_VSNBUFF) n = START_VSNBUFF;
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2904: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).
		buff->slen = (int) (strlen) ((char *) buff->data);
data/allegro5-5.2.6.0/src/misc/bstrlib.c:2952:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (n >= (l = b->slen + (int) (strlen) ((const char *) b->data + b->slen))) {
data/allegro5-5.2.6.0/src/opengl/extensions.c:443:28:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      terminator = where + strlen(name);
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:200:18:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
         int c = fgetc(cmdline);
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:209:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            p += strlen("fbwidth=");
data/allegro5-5.2.6.0/src/raspberrypi/pidisplay.c:210:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            p2 += strlen("fbheight=");
data/allegro5-5.2.6.0/src/tls.c:211: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).
   size = strlen(title);
data/allegro5-5.2.6.0/src/tls.c:232:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (strlen(tls->new_window_title) < 1)
data/allegro5-5.2.6.0/src/tls.c:717:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                       strlen(tls->new_window_title));
data/allegro5-5.2.6.0/src/tls.c:786:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                       strlen(tls->new_window_title));
data/allegro5-5.2.6.0/src/unix/upath.c:212:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      int len = strlen(linkname);
data/allegro5-5.2.6.0/src/unix/upath.c:226:44:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (linkname[len] == '[' && linkname[strlen(linkname)] == ']') {
data/allegro5-5.2.6.0/src/unix/upath.c:228:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
         linkname[strlen(linkname)] = '\0';
data/allegro5-5.2.6.0/src/unix/upath.c:232:50:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      _al_sane_strncpy(filename, linkname+len+1, strlen(linkname)-len+1);
data/allegro5-5.2.6.0/src/unix/upath.c:323:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (strncmp(p, location, strlen(location))) continue;
data/allegro5-5.2.6.0/src/unix/upath.c:324: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).
      p += strlen(location);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:485:6:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
     _tcsncpy(can->name_x, lpddoi->tszName, NAME_LEN);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:489:7:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      _tcsncpy(can->name_y, lpddoi->tszName, NAME_LEN);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:493:7:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      _tcsncpy(can->name_z, lpddoi->tszName, NAME_LEN);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:497:7:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      _tcsncpy(can->name_rx, lpddoi->tszName, NAME_LEN);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:501:7:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      _tcsncpy(can->name_ry, lpddoi->tszName, NAME_LEN);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:505:7:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      _tcsncpy(can->name_rz, lpddoi->tszName, NAME_LEN);
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:509:10:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         _tcsncpy(can->name_slider[can->num_sliders], lpddoi->tszName,
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:516:10:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         _tcsncpy(can->name_pov[can->num_povs], lpddoi->tszName,
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:523:10:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
         _tcsncpy(can->name_button[can->num_buttons], lpddoi->tszName,
data/allegro5-5.2.6.0/src/win/wjoydxnu.cpp:558:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      (*pos) += strlen(dest);
data/allegro5-5.2.6.0/src/x/xclipboard.c:142:49:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                   (const unsigned char *)text, strlen(text));
data/allegro5-5.2.6.0/src/x/xkeyboard.c:364: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).
      sprintf(str + strlen(str), " %s", sym_str ? sym_str : "NULL");
data/allegro5-5.2.6.0/src/x/xkeyboard.c:644: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).
         sprintf(str + strlen(str), " %s", sym_str ? sym_str : "NULL");
data/allegro5-5.2.6.0/src/x/xmousenu.c:190: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).
      sprintf(debug + strlen(debug), "%2d,", map[i]);
data/allegro5-5.2.6.0/tests/test_driver.c:827:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   if (sigexp && strlen(sigexp) != SIG_LEN) {
data/allegro5-5.2.6.0/tests/test_driver.c:895: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).
      if (sigexp && strlen(sigexp) != SIG_LEN) {
data/allegro5-5.2.6.0/tests/test_driver.c:1671:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      if (0 == strncmp(section, prefix, strlen(prefix))) {
data/allegro5-5.2.6.0/tests/test_driver.c:1710: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).
   return (strlen(s) >= strlen(suf))
data/allegro5-5.2.6.0/tests/test_driver.c:1710: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).
   return (strlen(s) >= strlen(suf))
data/allegro5-5.2.6.0/tests/test_driver.c:1711: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).
      && streq(s + strlen(s) - strlen(suf), suf);
data/allegro5-5.2.6.0/tests/test_driver.c:1711:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      && streq(s + strlen(s) - strlen(suf), suf);
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:464:4:  [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(bundle_contents_macos_dir, "/");
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:493: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(bundle_contents_resources_dir, "/");
data/allegro5-5.2.6.0/tools/macosx/fixbundle.c:573:92:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      cf_url_ref = CFURLCreateWithBytes(kCFAllocatorDefault, (unsigned char *)bundle_icns, strlen(bundle_icns), 0, NULL);
data/allegro5-5.2.6.0/tools/win/wfixicon.c:304: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).
      pack_fwrite(str, strlen(str), f);

ANALYSIS SUMMARY:

Hits = 980
Lines analyzed = 195433 in approximately 4.35 seconds (44903 lines/second)
Physical Source Lines of Code (SLOC) = 143754
Hits@level = [0] 200 [1] 186 [2] 497 [3]  50 [4] 243 [5]   4
Hits@level+ = [0+] 1180 [1+] 980 [2+] 794 [3+] 297 [4+] 247 [5+]   4
Hits/KSLOC@level+ = [0+] 8.20847 [1+] 6.8172 [2+] 5.52332 [3+] 2.06603 [4+] 1.71821 [5+] 0.0278253
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.