Fri, 03 Aug 2012 20:11:53 +0200
Neutralize buggy code causing OpenPKG to have 'fatal problems' in
spite of correct installation, configuration, and operation. An
administrator suffering from this failure is even unable to
uninstall the flawed software.
michael@22 | 1 | Index: lib/timevar.c |
michael@451 | 2 | --- lib/timevar.c.orig 2010-07-26 01:33:12.000000000 +0200 |
michael@451 | 3 | +++ lib/timevar.c 2010-08-06 15:13:37.000000000 +0200 |
michael@451 | 4 | @@ -45,6 +45,7 @@ |
michael@22 | 5 | # include <sys/times.h> |
michael@22 | 6 | #endif |
michael@22 | 7 | #ifdef HAVE_SYS_RESOURCE_H |
michael@22 | 8 | +#include <sys/time.h> |
michael@22 | 9 | #include <sys/resource.h> |
michael@22 | 10 | #endif |
michael@22 | 11 | |
michael@22 | 12 | ---------------------------------------------------------------------------- |
michael@22 | 13 | |
michael@22 | 14 | Security Fix: |
michael@22 | 15 | http://undeadly.org/cgi?action=article&sid=20080708155228&mode=flat&count=13 |
michael@22 | 16 | |
michael@22 | 17 | Index: data/yacc.c |
michael@451 | 18 | --- data/yacc.c.orig 2010-08-06 02:37:58.000000000 +0200 |
michael@451 | 19 | +++ data/yacc.c 2010-08-06 15:13:37.000000000 +0200 |
michael@451 | 20 | @@ -1453,7 +1453,10 @@ |
michael@22 | 21 | users should not rely upon it. Assigning to YYVAL |
michael@22 | 22 | unconditionally makes the parser a bit smaller, and it avoids a |
michael@22 | 23 | GCC warning that YYVAL may be used uninitialized. */ |
michael@22 | 24 | +if (yylen) |
michael@22 | 25 | yyval = yyvsp[1-yylen]; |
michael@22 | 26 | +else |
michael@22 | 27 | + memset(&yyval, 0, sizeof(yyval)); |
michael@22 | 28 | |
michael@22 | 29 | ]b4_locations_if( |
michael@22 | 30 | [[ /* Default location. */ |
michael@22 | 31 | |
michael@451 | 32 | ---------------------------------------------------------------------------- |
michael@451 | 33 | |
michael@451 | 34 | Fix for FreeBSD 8 but without breaking Mac OS X 10.6 |
michael@451 | 35 | |
michael@451 | 36 | Index: lib/spawn.in.h |
michael@451 | 37 | --- lib/spawn.in.h.orig 2010-04-11 20:31:37.000000000 +0200 |
michael@451 | 38 | +++ lib/spawn.in.h 2010-08-06 15:57:36.000000000 +0200 |
michael@451 | 39 | @@ -121,6 +121,7 @@ |
michael@451 | 40 | # define POSIX_SPAWN_SETSCHEDULER 0 |
michael@451 | 41 | # endif |
michael@451 | 42 | #else |
michael@451 | 43 | +#if !@HAVE_POSIX_SPAWN@ || defined(__APPLE__) |
michael@451 | 44 | # if @REPLACE_POSIX_SPAWN@ |
michael@451 | 45 | /* Use the values from the system, for better compatibility. */ |
michael@451 | 46 | /* But this implementation does not support AIX extensions. */ |
michael@451 | 47 | @@ -134,6 +135,7 @@ |
michael@451 | 48 | # define POSIX_SPAWN_SETSCHEDULER 0x20 |
michael@451 | 49 | # endif |
michael@451 | 50 | #endif |
michael@451 | 51 | +#endif |
michael@451 | 52 | /* A GNU extension. Use the next free bit position. */ |
michael@451 | 53 | #define POSIX_SPAWN_USEVFORK \ |
michael@451 | 54 | ((POSIX_SPAWN_RESETIDS | (POSIX_SPAWN_RESETIDS - 1) \ |