Aegisub/aegisub
Amar Takhar b00e485149 Plug a bunch of memory leaks from uau in the mplayer2 repo: http://repo.or.cz/w/mplayer.git?a=commit;h=312d9e4b104741b834aa5d71b02228d0cd988a4e
libass: Fix cache lookup problem causing memory bloat

The cache code did hash lookups by storing key values in struct fields
and then hashing and comparing the struct as a single memory block. In
at least one case such a struct contained uninitialized padding bytes
which prevented the complete memory area of the struct from matching
even though the fields did. As a result the code failed to find
existing objects in the cache and stored new versions of them, causing
gigabytes of memory use in some circumstances. Initializing the struct
memory to zero before writing the fields avoided such memory use in
tests but is not guaranteed to work if I interpret the C standard
correctly (the compiler is allowed to write garbage over padding bytes
when changing struct member values).

Change the code to use struct-specific hashing and comparison
functions that work field by field to guarantee correct behavior.
Create these by replacing the struct definition with a template that
lists the fields and can be used the generate each of struct
definition, hash function and compare function with some preprocessor
magic (otherwise every field would need to be listed separately in all
three).

Originally committed to SVN as r2895.
2009-05-04 06:48:21 +00:00
..
automation SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00
bin SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00
build Some more delayload vsprops files. 2009-04-29 19:08:40 +00:00
desktop SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00
FFmpegSource2 FFMS2: 2009-05-03 19:25:54 +00:00
lib Update ffms2.lib 2009-04-25 23:04:06 +00:00
libass Plug a bunch of memory leaks from uau in the mplayer2 repo: http://repo.or.cz/w/mplayer.git?a=commit;h=312d9e4b104741b834aa5d71b02228d0cd988a4e 2009-05-04 06:48:21 +00:00
m4macros Add a cross-compile condition to AC_RUN_IFELSE in AC_AGI_COMPILE to make cross-compiling work. 2009-04-21 22:32:07 +00:00
packages Remove outdated and unused Windows installer scripts. 2009-04-19 20:48:08 +00:00
po Updated German translation (by Sebastian Billau). 2009-04-23 10:32:00 +00:00
scripts Use 'SetFile' instead of '/usr/bin/SetFile' when creating the .dmg, 10.5 puts it in /usr/bin, on 10.4 it's in /Developer/Tools/. 2009-04-29 07:55:40 +00:00
src Implemented an automated cache cleaner that keeps the FFMS2 index cache at a manageable size. Cleaning is started when video is opened with the FFMS2 video provider and runs in its own thread. Removal is based on last access time, and the FFMS2 providers now explicitly touch the index files on reading to make sure access time is updated. 2009-05-03 18:05:30 +00:00
tinderbox Add an sh script to generate snap tarballs upon successful builds of UNIX platforms (excluding Darwin). 2009-05-01 03:58:23 +00:00
universalchardet No longer support anything for Windows-builds but Visual Studio 2008/VC9. 2009-04-17 22:08:37 +00:00
acinclude.m4 SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00
autogen.sh Add a command to autogen --skip-configure to allow the autogen/configure steps 2009-04-20 02:45:35 +00:00
configure.in * Re-format the arch detection case. 2009-04-29 00:49:38 +00:00
INSTALL SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00
Makefile.am * Add support in configure.in to detect the arch. 2009-04-28 23:25:42 +00:00
README SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00

* To be written.