Mercurial > sdl-ios-xcode
annotate test/README @ 4158:96ce26f24b01 SDL-1.2
Date: Sun, 7 Sep 2008 15:17:00 +0200
From: c2woody@gmx.net
Subject: [SDL] SDL 1.2 doube free/pointer zeroing missing
Hello,
this is about a crash/debug breakage for the current SDL 1.2
source tree (today's svn checkout, same problem in 1.2.13 and
before as far as relevant).
In some places memory is free()d but the associated pointer
is not zeroed, leading to for example double free()s.
For me this happened because SDL_StopEventThread() was executed
twice (during restart of the subsystems), once for the close
down in SDL_VideoQuit() and once at the startup, right at the
beginning of SDL_StartEventLoop(). Thus the code
SDL_DestroyMutex(SDL_EventQ.lock);
(see SDL_events.c) was called twice and executed the SDL_free(mutex);
twice as well, leading to a crash (msvc 64bit for which it was noticed).
I've tried to check all other occurrences of SDL_free and similar
code in msvc, see the attached patch (udiff against revision 4082).
Non-windows only codepaths have neither been checked nor touched.
Comments/ideas welcome.
Attached patch: NULLifies some pointers after they have been free()d.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 12 Nov 2008 17:23:40 +0000 |
parents | eb60dd682e5e |
children |
rev | line source |
---|---|
0 | 1 |
2 These are test programs for the SDL library: | |
3 | |
3903
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
4 checkkeys Watch the key events to check the keyboard |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
5 graywin Display a gray gradient and center mouse on spacebar |
0 | 6 loopwave Audio test -- loop playing a WAV file |
3903
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
7 testalpha Display an alpha faded icon -- paint with mouse |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
8 testbitmap Test displaying 1-bit bitmaps |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
9 testblitspeed Tests performance of SDL's blitters and converters. |
0 | 10 testcdrom Sample audio CD control program |
3903
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
11 testcursor Tests custom mouse cursor |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
12 testdyngl Tests dynamically loading OpenGL library |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
13 testerror Tests multi-threaded error handling |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
14 testfile Tests RWops layer |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
15 testgamma Tests video device gamma ramp |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
16 testgl A very simple example of using OpenGL with SDL |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
17 testhread Hacked up test of multi-threading |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
18 testiconv Tests international string conversion |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
19 testjoystick List joysticks and watch joystick events |
0 | 20 testkeys List the available keyboard keys |
3903
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
21 testloadso Tests the loadable library layer |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
22 testlock Hacked up test of multi-threading and locking |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
23 testoverlay Tests the software/hardware overlay functionality. |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
24 testoverlay2 Tests the overlay flickering/scaling during playback. |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
25 testpalette Tests palette color cycling |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
26 testplatform Tests types, endianness and cpu capabilities |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
27 testsem Tests SDL's semaphore implementation |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
28 testsprite Example of fast sprite movement on the screen |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
29 testtimer Test the timer facilities |
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
30 testver Check the version and dynamic loading and endianness |
886
05c551e5bc64
Date: Sat, 24 Apr 2004 15:13:32 +0300
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
31 testvidinfo Show the pixel format of the display and perfom the benchmark |
0 | 32 testwin Display a BMP image at various depths |
33 testwm Test window manager -- title, icon, events | |
34 threadwin Test multi-threaded event handling | |
3903
5baad3758427
Alpha sort the test list, add missing ones, remove removed ones
Patrice Mandin <patmandin@gmail.com>
parents:
1039
diff
changeset
|
35 torturethread Simple test for thread creation/destruction |