And, double post because it is relevant.
Fun Time with Warnings; the following output occurs on building Debug builds in MSVC 2008 Team:
5>d:\scp\builds\antipodes\code\sound\acm.cpp(188) : warning C4244: '=' : conversion from 'int' to 'short', possible loss of data
5>d:\scp\builds\antipodes\code\sound\acm.cpp(512) : warning C4244: '=' : conversion from 'int' to 'ushort', possible loss of data
5>d:\scp\builds\antipodes\code\sound\dscap.cpp(222) : warning C4018: '<' : signed/unsigned mismatch
The most important one there is the signed/unsigned as that may be multiplatform (all of them that I have seen have been at least)
The following occur on Analyze (preFAST) output on Debug (also MSVC 2008 Team):
1>d:\scp\builds\antipodes\code\sound\sound.cpp(481) : warning C6011: Dereferencing NULL pointer 'gs': Lines: 469, 470, 472, 474, 477, 479, 481
1>d:\scp\builds\antipodes\code\sound\sound.cpp(556) : warning C6011: Dereferencing NULL pointer 'gs': Lines: 543, 544, 545, 546, 547, 549, 552, 554, 556
1>d:\scp\builds\antipodes\code\sound\sound.cpp(665) : warning C6011: Dereferencing NULL pointer 'gs': Lines: 653, 654, 655, 657, 658, 660, 663, 665
1>d:\scp\builds\antipodes\code\sound\sound.cpp(740) : warning C6011: Dereferencing NULL pointer 'gs': Lines: 726, 727, 728, 730, 732, 735, 737, 740
1>d:\scp\builds\antipodes\code\sound\rtvoice.cpp(578) : warning C6386: Buffer overrun: accessing 'Rtv_output_buffers', the writable size is '8' bytes, but '16' bytes might be written: Lines: 567, 568, 570, 571, 573, 578
1>d:\scp\builds\antipodes\code\sound\rtvoice.cpp(579) : warning C6385: Invalid data: accessing 'Rtv_output_buffers', the readable size is '8' bytes, but '16' bytes might be read: Lines: 567, 568, 570, 571, 573, 578, 579
1>d:\scp\builds\antipodes\code\sound\rtvoice.cpp(590) : warning C6385: Invalid data: accessing 'Rtv_output_buffers', the readable size is '8' bytes, but '-16' bytes might be read: Lines: 588, 590
1>d:\scp\builds\antipodes\code\sound\rtvoice.cpp(611) : warning C6385: Invalid data: accessing 'Rtv_output_buffers', the readable size is '8' bytes, but '-16' bytes might be read: Lines: 609, 611
1>d:\scp\builds\antipodes\code\sound\rtvoice.cpp(612) : warning C6386: Buffer overrun: accessing 'Rtv_output_buffers', the writable size is '8' bytes, but '-16' bytes might be written: Lines: 609, 611, 612
1>d:\scp\builds\antipodes\code\sound\ds.cpp(693) : warning C6011: Dereferencing NULL pointer 'si': Lines: 661, 662, 663, 667, 668, 673, 674, 676, 677, 678, 679, 680, 681, 685, 686, 687, 688, 689, 692, 693
1>d:\scp\builds\antipodes\code\sound\ds.cpp(809) : warning C6011: Dereferencing NULL pointer 'final_size': Lines: 661, 662, 663, 667, 668, 673, 674, 676, 677, 678, 679, 680, 681, 685, 686, 687, 688, 689, 692, 693, 694, 695, 696, 697, 709, 786, 788, 789, 791, 792, 808, 809
1>d:\scp\builds\antipodes\code\sound\acm.cpp(320) : warning C6011: Dereferencing NULL pointer 'pwfxSrc': Lines: 319, 320
1>d:\scp\builds\antipodes\code\sound\acm.cpp(434) : warning C6011: Dereferencing NULL pointer 'dest_len': Lines: 319, 320, 321, 322, 323, 325, 327, 328, 330, 331, 332, 334, 335, 336, 338, 339, 340, 341, 343, 352, 353, 356, 364, 365, 366, 369, 370, 371, 372, 373, 374, 375, 377, 378, 381, 382, 384, 390, 391, 394, 395, 396, 399, 403, 413, 415, 416, 420, 422, 424, 434
1>d:\scp\builds\antipodes\code\sound\acm.cpp(450) : warning C6011: Dereferencing NULL pointer 'pwfxSrc': Lines: 449, 450
1>d:\scp\builds\antipodes\code\sound\acm.cpp(514) : warning C6011: Dereferencing NULL pointer 'stream': Lines: 449, 450, 451, 453, 455, 457, 458, 459, 461, 462, 464, 470, 471, 472, 475, 476, 477, 478, 479, 480, 481, 483, 484, 487, 488, 490, 496, 497, 500, 507, 509, 510, 511, 512, 513, 514
1>d:\scp\builds\antipodes\code\sound\acm.cpp(526) : warning C6011: Dereferencing NULL pointer 'str': Lines: 524, 525, 526
1>d:\scp\builds\antipodes\code\sound\acm.cpp(540) : warning C6011: Dereferencing NULL pointer 'str': Lines: 534, 535, 540
1>d:\scp\builds\antipodes\code\sound\acm.cpp(551) : warning C6011: Dereferencing NULL pointer 'str': Lines: 545, 546, 551
1>d:\scp\builds\antipodes\code\sound\acm.cpp(574) : warning C6011: Dereferencing NULL pointer 'str': Lines: 556, 557, 558, 559, 561, 562, 563, 565, 567, 568, 569, 571, 574
1>d:\scp\builds\antipodes\code\sound\acm.cpp(582) : warning C6011: Dereferencing NULL pointer 'dest_len': Lines: 556, 557, 558, 559, 561, 562, 563, 565, 567, 568, 569, 571, 574, 575, 576, 579, 582