Entries in c database: 310
Analyzing ../../CarbonSndPlayDB.c
Analyzing ../../Ctrl.c
Analyzing ../../Ctrl_EditBox.c
Analyzing ../../Ctrl_PageViewer.c
Analyzing ../../Ctrl_ScrollBar.c
Analyzing ../../Ctrl_Tab.c
Analyzing ../../EX_FileList.c
Analyzing ../../EX_browser.c
Analyzing ../../EX_browser_net.c
Analyzing ../../EX_browser_ping.c
Analyzing ../../EX_browser_sources.c
Analyzing ../../auth.c
Analyzing ../../cd_linux.c
Analyzing ../../cd_null.c
Analyzing ../../cd_win.c
Analyzing ../../cl_cam.c
Analyzing ../../cl_cmd.c
Analyzing ../../cl_demo.c
Analyzing ../../cl_ents.c
Analyzing ../../cl_input.c
Analyzing ../../cl_main.c
Analyzing ../../cl_nqdemo.c
Analyzing ../../cl_parse.c
Analyzing ../../cl_pred.c
Analyzing ../../cl_screen.c
Analyzing ../../cl_slist.c
Analyzing ../../cl_tcl.c
Analyzing ../../cl_tent.c
Analyzing ../../cl_view.c
Analyzing ../../cmd.c
Analyzing ../../cmodel.c
Analyzing ../../collision.c
Analyzing ../../com_msg.c
Analyzing ../../common.c
Analyzing ../../common_draw.c
Analyzing ../../config_manager.c
Analyzing ../../console.c
Analyzing ../../cpu.c
Analyzing ../../crc.c
Analyzing ../../cvar.c
Analyzing ../../d_edge.c
Analyzing ../../d_fill.c
Analyzing ../../d_init.c
Analyzing ../../d_modech.c
Analyzing ../../d_part.c
Analyzing ../../d_polyse.c
Analyzing ../../d_scan.c
Analyzing ../../d_sky.c
Analyzing ../../d_sprite.c
Analyzing ../../d_surf.c
Analyzing ../../d_vars.c
Analyzing ../../d_zpoint.c
Analyzing ../../demo_controls.c
Analyzing ../../document_rendering.c
Analyzing ../../ez_button.c
Analyzing ../../ez_controls.c
Analyzing ../../ez_label.c
Analyzing ../../ez_scrollbar.c
Analyzing ../../ez_scrollpane.c
Analyzing ../../ez_slider.c
Analyzing ../../ez_window.c
Analyzing ../../fchecks.c
Analyzing ../../fmod.c
Analyzing ../../fragstats.c
Analyzing ../../fs.c
Analyzing ../../gl_bloom.c
Analyzing ../../gl_draw.c
Analyzing ../../gl_framebuffer.c
Analyzing ../../gl_md3.c
Analyzing ../../gl_mesh.c
Analyzing ../../gl_model.c
Analyzing ../../gl_ngraph.c
Analyzing ../../gl_refrag.c
Analyzing ../../gl_rlight.c
Analyzing ../../gl_rmain.c
Analyzing ../../gl_rmisc.c
Analyzing ../../gl_rpart.c
Analyzing ../../gl_rsurf.c
Analyzing ../../gl_texture.c
Analyzing ../../gl_warp.c
Analyzing ../../hash.c
Analyzing ../../help.c
Analyzing ../../help_files.c
Analyzing ../../host.c
Analyzing ../../hud.c
Analyzing ../../hud_common.c
Analyzing ../../hud_editor.c
Analyzing ../../ignore.c
Analyzing ../../image.c
Analyzing ../../in_linux.c
Analyzing ../../in_mac.c
Analyzing ../../in_win.c
Analyzing ../../keymap.c
Analyzing ../../keymap_x11.c
Analyzing ../../keys.c
Analyzing ../../linux_glimp.c
Analyzing ../../linux_signals.c
Analyzing ../../localtime.c
Analyzing ../../localtime_linux.c
Analyzing ../../localtime_win.c
Analyzing ../../logging.c
Analyzing ../../mac_prefs.c
Analyzing ../../match_tools.c
Analyzing ../../mathlib.c
Analyzing ../../md4.c
Analyzing ../../menu.c
Analyzing ../../menu_demo.c
Analyzing ../../menu_ingame.c
Analyzing ../../menu_mp3player.c
Analyzing ../../menu_multiplayer.c
Analyzing ../../menu_options.c
Analyzing ../../menu_proxy.c
Analyzing ../../modules.c
Analyzing ../../movie.c
Analyzing ../../movie_avi.c
Analyzing ../../mp3_audacious.c
Analyzing ../../mp3_mpd.c
Analyzing ../../mp3_player.c
Analyzing ../../mp3_winamp.c
Analyzing ../../mp3_xmms.c
Analyzing ../../mp3_xmms2.c
Analyzing ../../mvd_autotrack.c
Analyzing ../../mvd_utils.c
Analyzing ../../mvd_xmlstats.c
Analyzing ../../net.c
Analyzing ../../net_chan.c
Analyzing ../../parser.c
Analyzing ../../pmove.c
Analyzing ../../pmovetst.c
Analyzing ../../pr_cmds.c
Analyzing ../../pr_edict.c
Analyzing ../../pr_exec.c
Analyzing ../../q_shared.c
Analyzing ../../qtv.c
Analyzing ../../r_aclip.c
Analyzing ../../r_alias.c
Analyzing ../../r_bsp.c
Analyzing ../../r_draw.c
Analyzing ../../r_edge.c
Analyzing ../../r_efrag.c
Analyzing ../../r_light.c
Analyzing ../../r_main.c
Analyzing ../../r_misc.c
Analyzing ../../r_model.c
Analyzing ../../r_part.c
Analyzing ../../r_rast.c
Analyzing ../../r_sky.c
Analyzing ../../r_sprite.c
Analyzing ../../r_surf.c
Analyzing ../../r_vars.c
Analyzing ../../rulesets.c
Analyzing ../../sbar.c
Analyzing ../../settings_page.c
Analyzing ../../sha1.c
Analyzing ../../skin.c
Analyzing ../../snd_alsa.c
Analyzing ../../snd_dma.c
Analyzing ../../snd_linux.c
Analyzing ../../snd_mac.c
Analyzing ../../snd_mem.c
Analyzing ../../snd_mix.c
Analyzing ../../snd_oss.c
Analyzing ../../snd_ov.c
Analyzing ../../snd_win.c
Analyzing ../../stats_grid.c
Analyzing ../../sv_ccmds.c
Analyzing ../../sv_ents.c
Analyzing ../../sv_init.c
Analyzing ../../sv_main.c
Analyzing ../../sv_master.c
Analyzing ../../sv_move.c
Analyzing ../../sv_nchan.c
Analyzing ../../sv_null.c
Analyzing ../../sv_phys.c
Analyzing ../../sv_save.c
Analyzing ../../sv_send.c
Analyzing ../../sv_sys_unix.c
Analyzing ../../sv_sys_win.c
Analyzing ../../sv_user.c
Analyzing ../../sv_world.c
Analyzing ../../sys_linux.c
Analyzing ../../sys_mac.c
Analyzing ../../sys_win.c
Analyzing ../../teamplay.c
Analyzing ../../textencoding.c
Analyzing ../../tp_msgs.c
Analyzing ../../tp_triggers.c
Analyzing ../../tr_init.c
Analyzing ../../utils.c
Analyzing ../../version.c
Analyzing ../../vfs_doomwad.c
Analyzing ../../vfs_gzip.c
Analyzing ../../vfs_mmap.c
Analyzing ../../vfs_os.c
Analyzing ../../vfs_pak.c
Analyzing ../../vfs_tar.c
Analyzing ../../vfs_tcp.c
Analyzing ../../vfs_zip.c
Analyzing ../../vid_common_gl.c
Analyzing ../../vid_glx.c
Analyzing ../../vid_mac.c
Analyzing ../../vid_svgalib.c
Analyzing ../../vid_wgl.c
Analyzing ../../vid_win.c
Analyzing ../../vid_x11.c
Analyzing ../../vx_camera.c
Analyzing ../../vx_coronas.c
Analyzing ../../vx_motiontrail.c
Analyzing ../../vx_stuff.c
Analyzing ../../vx_tracker.c
Analyzing ../../vx_vertexlights.c
Analyzing ../../wad.c
Analyzing ../../win_glimp.c
Analyzing ../../win_wndproc.c
Analyzing ../../xsd.c
Analyzing ../../xsd_command.c
Analyzing ../../xsd_document.c
Analyzing ../../xsd_variable.c
Analyzing ../../zone.c
Analyzing ../../zone2.c

## RATS results.

Severity: High
Issue: fixed size global buffer
Extra care should be taken to ensure that character arrays that are allocated on the stack are used safely. They are prime targets for buffer overflow attacks.

File: ../../Ctrl.c
Lines: 140

File: ../../Ctrl_PageViewer.c
Lines: 188

File: ../../Ctrl_Tab.c
Lines: 81 130

File: ../../EX_FileList.c
Lines: 106 236 237 426 457 749 896 964 1093 1244 1271 1272 1490 1491 1643 1644 1647

File: ../../EX_browser.c
Lines: 180 194 445 464 538 563 623 635 660 720 935 1093 1147 1173 1219 1290 1319 1401 1545 1678 1780 1908 2026 2070 2089 2229 2241 2259 2364 2376

File: ../../EX_browser_net.c
Lines: 31 128 262 425 468

File: ../../EX_browser_ping.c
Lines: 155 700

File: ../../EX_browser_sources.c
Lines: 68 80 123 168 182 221 285 381 495 533 547 649

File: ../../auth.c
Lines: 45 87 88 89 133

File: ../../cl_cam.c
Lines: 168 628 879

File: ../../cl_cmd.c
Lines: 94 142 296 362 403 458 528 555 573 634 753 938 979

File: ../../cl_demo.c
Lines: 412 436 548 1392 1418 1503 1514 1615 1616 1884 1983 2061 2085 2181 2182 2255 2256 2265 2313 2344 2345 2762 2767 3001 3002 3003 3195 3393 3417

File: ../../cl_input.c
Lines: 619

File: ../../cl_main.c
Lines: 258 270 279 323 331 364 426 436 446 455 464 478 485 579 580 604 616 770 959 1208 1520 2226 2698 2699

File: ../../cl_nqdemo.c
Lines: 376

File: ../../cl_parse.c
Lines: 860 1334 1584 1970 2113 2145 2318 2392 2538

File: ../../cl_screen.c
Lines: 81 593 619 681 705 733 757 1048 1467 1524 1750 2662 2878 3407 3555 3611 3666 3769 3770 4327 4862 4863 4864 4865 4866 4868 5286

File: ../../cl_slist.c
Lines: 108

File: ../../cl_tcl.c
Lines: 102 211 322 577

File: ../../cmd.c
Lines: 197 398 452 453 637 921 1378 1551 1554 1759 1847 2051 2130 2171

File: ../../com_msg.c
Lines: 412 437

File: ../../common.c
Lines: 81 215 349 351 577 616 617 653 693 729 806 931 960 981

File: ../../common_draw.c
Lines: 35 359 582 726 740 755

File: ../../config_manager.c
Lines: 259 655 666 864 926 952 1018

File: ../../console.c
Lines: 209 537 977

File: ../../cpu.c
Lines: 38

File: ../../cvar.c
Lines: 127 333 457 854 1057

File: ../../document_rendering.c
Lines: 40 508 602

File: ../../ez_label.c
Lines: 520 594 1123

File: ../../fmod.c
Lines: 153 169 388

File: ../../fragstats.c
Lines: 735

File: ../../fs.c
Lines: 73 83 89 253 299 317 358 385 528 674 721 817 818 884 914 1253 1391 1512 1530 1689 1778 1824 1888 1889 2113 2335 2466 2622 3049 3050 3112 3113 3152 3185 3242 3274 3593

File: ../../gl_draw.c
Lines: 277 466 467 468 647 1832 1892

File: ../../gl_md3.c
Lines: 242 275 276 277

File: ../../gl_model.c
Lines: 221 404 405 865 1357 1516 1542 1789 1810

File: ../../gl_ngraph.c
Lines: 82 142 204

File: ../../gl_rmain.c
Lines: 1826

File: ../../gl_rmisc.c
Lines: 86

File: ../../gl_texture.c
Lines: 64 501 590 610 617 834

File: ../../host.c
Lines: 95 180 181 280 373 460 587 668 762

File: ../../hud.c
Lines: 135 539 819 1078 1173 1331

File: ../../hud_common.c
Lines: 231 264 304 351 356 481 1707 1947 2143 2682 3095 3096 3201 3898 3926 4005 4006 4655 4699 4879 5126 5858

File: ../../ignore.c
Lines: 42 293 341

File: ../../image.c
Lines: 840 1361 1544

File: ../../in_win.c
Lines: 869

File: ../../keymap.c
Lines: 296 301 397 424 602 671 748 928

File: ../../keymap_x11.c
Lines: 204

File: ../../keys.c
Lines: 308 367 563 659 1324 1374 1375 1424 1568 1594 1883

File: ../../linux_glimp.c
Lines: 547 1483 1505

File: ../../logging.c
Lines: 45 208 257

File: ../../match_tools.c
Lines: 106 126 160 178 233 283 284 285 286 287 291 292 293 294 301 302 304 305 306 307 358 483 583 615 727 808 809 1021 1076 1077 1294

File: ../../md4.c
Lines: 56 168

File: ../../menu.c
Lines: 979

File: ../../menu_demo.c
Lines: 73 74 75 538 894

File: ../../menu_mp3player.c
Lines: 28 32 95 410

File: ../../modules.c
Lines: 75

File: ../../movie.c
Lines: 186 266

File: ../../mp3_audacious.c
Lines: 158 297

File: ../../mp3_mpd.c
Lines: 142 303 414

File: ../../mp3_player.c
Lines: 102 133 186

File: ../../mp3_winamp.c
Lines: 127 185 338 403

File: ../../mp3_xmms.c
Lines: 131 270

File: ../../mp3_xmms2.c
Lines: 169 532 637

File: ../../mvd_autotrack.c
Lines: 365

File: ../../mvd_utils.c
Lines: 117 118 119 120 210 270 379 380 804 997

File: ../../mvd_xmlstats.c
Lines: 29

File: ../../net.c
Lines: 92 103 119 765

File: ../../net_chan.c
Lines: 134

File: ../../parser.c
Lines: 656

File: ../../pr_cmds.c
Lines: 36 47 1340 1617

File: ../../pr_edict.c
Lines: 189 233 277 300 491 552 613 860

File: ../../pr_exec.c
Lines: 211

File: ../../q_shared.c
Lines: 159 398

File: ../../qtv.c
Lines: 52 137 184 220

File: ../../r_draw.c
Lines: 149 150 151 1159

File: ../../r_misc.c
Lines: 37 210 283 372

File: ../../r_model.c
Lines: 909

File: ../../r_part.c
Lines: 265 271

File: ../../sbar.c
Lines: 353 401 463 650 751 952 953 989 1033 1095 1096 1200 1411 1540 1678 1758

File: ../../settings_page.c
Lines: 99 109 136 211 230 479 540 556 633

File: ../../sha1.c
Lines: 30 35 120 149 159 177

File: ../../skin.c
Lines: 79 109 169 305

File: ../../snd_dma.c
Lines: 805 823

File: ../../snd_mem.c
Lines: 221

File: ../../snd_ov.c
Lines: 117 118 131

File: ../../sv_ccmds.c
Lines: 49 102 150 298 521

File: ../../sv_main.c
Lines: 216 332 368 417 722 724 806 829 969 1198

File: ../../sv_master.c
Lines: 31 62 92

File: ../../sv_save.c
Lines: 36 53 129

File: ../../sv_send.c
Lines: 91 106 129

File: ../../sv_sys_unix.c
Lines: 95 114 155

File: ../../sv_sys_win.c
Lines: 51 93

File: ../../sv_user.c
Lines: 105 567 679 753 893 1038 1103 1490

File: ../../sys_linux.c
Lines: 77 123 210 482 499 500 501 598 642

File: ../../sys_mac.c
Lines: 195 196 197 289 329 400 413 686 770 1141 1478

File: ../../sys_win.c
Lines: 209 210 211 320 345 440 599 1181

File: ../../teamplay.c
Lines: 237 328 868 1139 1159 1322 1406 1407 1718 1850 1851 1886 2072 2138 2146 2242 2416 3063

File: ../../textencoding.c
Lines: 30 161 162

File: ../../tp_msgs.c
Lines: 90 102

File: ../../tp_triggers.c
Lines: 142 221 222

File: ../../tr_init.c
Lines: 142 191

File: ../../utils.c
Lines: 34 45 57 100 164 251 488 557 558 797

File: ../../version.c
Lines: 86

File: ../../vfs_doomwad.c
Lines: 34 39 54 55 56

File: ../../vfs_gzip.c
Lines: 40

File: ../../vfs_os.c
Lines: 124 167 208 230 254

File: ../../vfs_pak.c
Lines: 30 44 50

File: ../../vfs_tar.c
Lines: 38 96

File: ../../vfs_tcp.c
Lines: 37 40

File: ../../vfs_zip.c
Lines: 117 153 228

File: ../../vid_common_gl.c
Lines: 234

File: ../../vid_mac.c
Lines: 909

File: ../../vid_wgl.c
Lines: 51 1422 1442

File: ../../vid_win.c
Lines: 145 900 920 2504

File: ../../vid_x11.c
Lines: 638

File: ../../vx_stuff.c
Lines: 107 282 325

File: ../../vx_tracker.c
Lines: 47 56 256 268 280 297 309 323 335 348 355 362 402 418 448 465

File: ../../wad.c
Lines: 127 246

File: ../../win_glimp.c
Lines: 1219 1458

File: ../../xsd.c
Lines: 182 183

File: ../../xsd_command.c
Lines: 139

File: ../../xsd_document.c
Lines: 1104

File: ../../xsd_variable.c
Lines: 188

File: ../../zone.c
Lines: 35 66 251

Severity: High
Issue: fscanf
Check to be sure that the format string passed as argument 2 to this function call does not come from an untrusted source that could have added formatting characters that the code is not prepared to handle. Additionally, the format string could contain `%s' without precision that could result in a buffer overflow.

File: ../../EX_browser_sources.c
Lines: 84

File: ../../menu.c
Lines: 995

File: ../../sv_save.c
Lines: 157 171 189

Severity: High
Issue: CreateProcess
Many program execution commands under Windows will search the path for a program if you do not explicitly specify a full path to the file. This can allow trojans to be executed instead. Also, be sure to specify a file extension, since otherwise multiple extensions will be tried by the operating system, providing another opportunity for trojans.

File: ../../cl_demo.c
Lines: 2153 2220

File: ../../mp3_winamp.c
Lines: 207

Severity: High
Issue: CreateProcess
Argument 3 to this function call should be checked to ensure that it does not come from an untrusted source without first verifying that it contains nothing dangerous.

File: ../../cl_demo.c
Lines: 2153 2220

Severity: High
Issue: strcpy
Check to be sure that argument 2 passed to this function call will not copy more data than can be handled, resulting in a buffer overflow.

File: ../../cl_input.c
Lines: 625

File: ../../cmd.c
Lines: 1036 1440 1451 2192

File: ../../common.c
Lines: 682

File: ../../hud.c
Lines: 1141 1145

File: ../../keys.c
Lines: 1414

File: ../../match_tools.c
Lines: 201 203

File: ../../r_model.c
Lines: 935

File: ../../stats_grid.c
Lines: 178 182

File: ../../sys_win.c
Lines: 719

File: ../../teamplay.c
Lines: 1991 2107

File: ../../tp_triggers.c
Lines: 183

File: ../../utils.c
Lines: 747

File: ../../xsd.c
Lines: 166

Severity: High
Issue: gethostbyname
DNS results can easily be forged by an attacker (or arbitrarily set to large values, etc), and should not be trusted.

File: ../../cl_main.c
Lines: 977

File: ../../net.c
Lines: 149

Severity: High
Issue: gethostbyaddr
DNS results can easily be forged by an attacker (or arbitrarily set to large values, etc), and should not be trusted.

File: ../../cl_main.c
Lines: 990

Severity: High
Issue: GetTempPath
GetTempPath() may return the current directory or the windows directory. Be careful what you place in these locations. Important files may be overwritten, and trojan DLL's may be dropped in these locations. Never use a user-input filename when writing to a location given by GetTempPath().

File: ../../common.c
Lines: 318

Severity: High
Issue: getenv
Environment variables are highly untrustable input. They may be of any length, and contain any data. Do not make any assumptions regarding content or length. If at all possible avoid using them, and if it is necessary, sanitize them and truncate them to a reasonable length.

File: ../../common.c
Lines: 326

File: ../../fs.c
Lines: 929 1146

File: ../../mp3_mpd.c
Lines: 120 121

File: ../../mp3_xmms2.c
Lines: 156

Severity: High
Issue: fprintf
Check to be sure that the non-constant format string passed as argument 2 to this function call does not come from an untrusted source that could have added formatting characters that the code is not prepared to handle.

File: ../../config_manager.c
Lines: 421 422 772 778 784 790 796 800 804

Severity: High
Issue: LoadLibrary
LoadLibrary will search several places for a library if no path is specified, allowing trojan DLL's to be inserted elsewhere even if the intended DLL is correctly protected from overwriting. Make sure to specify the full path.

File: ../../image.c
Lines: 611 1933

File: ../../in_win.c
Lines: 619 872 1133

File: ../../modules.c
Lines: 81

File: ../../movie_avi.c
Lines: 85 126

File: ../../mp3_mpd.c
Lines: 98

File: ../../mp3_xmms2.c
Lines: 127

File: ../../snd_ov.c
Lines: 72

Severity: High
Issue: vprintf
Check to be sure that the non-constant format string passed as argument 1 to this function call does not come from an untrusted source that could have added formatting characters that the code is not prepared to handle.

File: ../../sv_sys_win.c
Lines: 158

File: ../../sys_mac.c
Lines: 365

Severity: High
Issue: realpath
Be sure the destination buffer is at least MAXPATHLEN big. This function may still internally overflow a static buffer, try to avoid using it. If you must, check the size the path your pass in is no longer than MAXPATHLEN

File: ../../sys_linux.c
Lines: 483 491

File: ../../sys_mac.c
Lines: 1479 1487

Severity: High
Issue: umask
umask() can easily be used to create files with unsafe priviledges. It should be set to restrictive values.

File: ../../sys_linux.c
Lines: 613 615 619

File: ../../sys_mac.c
Lines: 145

Severity: High
Issue: vsprintf
Check to be sure that the non-constant format string passed as argument 2 to this function call does not come from an untrusted source that could have added formatting characters that the code is not prepared to handle.

File: ../../sys_mac.c
Lines: 292 332 404

Severity: High
Issue: vsprintf
Check to be sure that the format string passed as argument 2 to this function call does not come from an untrusted source that could have added formatting characters that the code is not prepared to handle. Additionally, the format string could contain `%s' without precision that could result in a buffer overflow.

File: ../../sys_mac.c
Lines: 292 332 404

Severity: High
Issue: strcat
Check to be sure that argument 2 passed to this function call will not copy more data than can be handled, resulting in a buffer overflow.

File: ../../sys_mac.c
Lines: 1252

Severity: High
Issue: sprintf
Check to be sure that the format string passed as argument 2 to this function call does not come from an untrusted source that could have added formatting characters that the code is not prepared to handle. Additionally, the format string could contain `%s' without precision that could result in a buffer overflow.

File: ../../vid_wgl.c
Lines: 1451 1459

Severity: Medium
Issue: getc
Check buffer boundaries if calling this function in a loop and make sure you are not in danger of writing past the allocated space.

File: ../../cl_slist.c
Lines: 115 117

Severity: Medium
Issue: GetTempFileName
Many calls for generating temporary file names are insecure (susceptible to race conditions). Use a securely generated file name, for example, by pulling 64 bits of randomness from /dev/random, base 64 encoding it and using that as a file suffix.

File: ../../common.c
Lines: 369

Severity: Medium
Issue: tempnam
Many calls for generating temporary file names are insecure (susceptible to race conditions). Use a securely generated file name, for example, by pulling 64 bits of randomness from /dev/random, base 64 encoding it and using that as a file suffix.

File: ../../common.c
Lines: 381

Severity: Medium
Issue: fgetc
Check buffer boundaries if calling this function in a loop and make sure you are not in danger of writing past the allocated space.

File: ../../gl_draw.c
Lines: 229

File: ../../keys.c
Lines: 1639

File: ../../r_draw.c
Lines: 790

File: ../../sv_save.c
Lines: 198

Severity: Medium
Issue: read
Check buffer boundaries if calling this function in a loop and make sure you are not in danger of writing past the allocated space.

File: ../../linux_glimp.c
Lines: 452

File: ../../sv_sys_unix.c
Lines: 162

File: ../../sys_linux.c
Lines: 189 220

File: ../../sys_mac.c
Lines: 168 423

File: ../../vid_glx.c
Lines: 963

Severity: Medium
Issue: signal
When setting signal handlers, do not use the same function to handle multiple signals. There exists the possibility a race condition will result if 2 or more different signals are sent to the process at nearly the same time. Also, when writing signal handlers, it is best to do as little as possible in them. The best strategy is to use the signal handler to set a flag, that another part of the program tests and performs the appropriate action(s) when it is set. See also: http://razor.bindview.com/publish/papers/signals.txt

File: ../../linux_signals.c
Lines: 61 62 63 64 65 66 67 68 69 70

File: ../../sys_linux.c
Lines: 206 273

File: ../../vid_glx.c
Lines: 457 458 459 460 461 462 463 464 465 466

Severity: Medium
Issue: srand
Standard random number generators should not be used to generate randomness used for security reasons. For security sensitive randomness a crytographic randomness generator that provides sufficient entropy should be used.

File: ../../net_chan.c
Lines: 86

Severity: Medium
Issue: realloc
Don't use on memory intended to be secure, because the old structure will not be zeroed out.

File: ../../q_shared.c
Lines: 874

File: ../../sys_mac.c
Lines: 1315

File: ../../vfs_mmap.c
Lines: 75

Severity: Medium
Issue: getlogin
The results of this call are easy to forge.

File: ../../sys_linux.c
Lines: 603

Severity: Medium
Issue: stat
A potential TOCTOU (Time Of Check, Time Of Use) vulnerability exists. This is the first line where a check has occured. The following line(s) contain uses that may match up with this check: 132 (open) , 147 (open) , 189 (mkdir)

File: ../../sys_mac.c
Lines: 181

Severity: Medium
Issue: tmpfile
Many calls for generating temporary file names are insecure (susceptible to race conditions). Use a securely generated file name, for example, by pulling 64 bits of randomness from /dev/random, base 64 encoding it and using that as a file suffix.

File: ../../vfs_os.c
Lines: 92

Severity: Medium
Issue: random
Standard random number generators should not be used to generate randomness used for security reasons. For security sensitive randomness a crytographic randomness generator that provides sufficient entropy should be used.

File: ../../vid_x11.c
Lines: 365

Severity: Medium
Issue: srandom
Standard random number generators should not be used to generate randomness used for security reasons. For security sensitive randomness a crytographic randomness generator that provides sufficient entropy should be used.

File: ../../vid_x11.c
Lines: 407

### Inputs detected at the following points

Total lines analyzed: 181957
Total time 0.000000 seconds
0 lines per second