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@174 | 1 | Index: include/ac/fdset.h |
michael@380 | 2 | --- include/ac/fdset.h.orig 2011-01-05 00:49:56.000000000 +0100 |
michael@380 | 3 | +++ include/ac/fdset.h 2011-02-12 10:17:43.000000000 +0100 |
michael@174 | 4 | @@ -22,6 +22,13 @@ |
michael@174 | 5 | #ifndef _AC_FDSET_H |
michael@174 | 6 | #define _AC_FDSET_H |
michael@174 | 7 | |
michael@174 | 8 | +#if defined(HAVE_SYS_TYPES_H) |
michael@174 | 9 | +#include <sys/types.h> |
michael@174 | 10 | +#endif |
michael@174 | 11 | +#if defined(HAVE_SYS_SELECT_H) |
michael@174 | 12 | +#include <sys/select.h> |
michael@174 | 13 | +#endif |
michael@174 | 14 | + |
michael@174 | 15 | #if !defined( OPENLDAP_FD_SETSIZE ) && !defined( FD_SETSIZE ) |
michael@174 | 16 | # define OPENLDAP_FD_SETSIZE 4096 |
michael@174 | 17 | #endif |
michael@174 | 18 | Index: include/ldap_int_thread.h |
michael@380 | 19 | --- include/ldap_int_thread.h.orig 2011-01-06 19:43:20.000000000 +0100 |
michael@380 | 20 | +++ include/ldap_int_thread.h 2011-02-12 10:17:43.000000000 +0100 |
michael@380 | 21 | @@ -110,6 +110,7 @@ |
michael@174 | 22 | * * |
michael@174 | 23 | ***********************************/ |
michael@174 | 24 | |
michael@174 | 25 | +#define _POSIX_PTHREAD_SEMANTICS |
michael@174 | 26 | #define PTH_SYSCALL_SOFT 1 |
michael@174 | 27 | #include <pth.h> |
michael@174 | 28 | |
michael@174 | 29 | Index: libraries/libldap_r/tpool.c |
michael@380 | 30 | --- libraries/libldap_r/tpool.c.orig 2011-01-05 00:50:08.000000000 +0100 |
michael@380 | 31 | +++ libraries/libldap_r/tpool.c 2011-02-12 10:17:43.000000000 +0100 |
michael@380 | 32 | @@ -968,6 +968,6 @@ |
michael@174 | 33 | { |
michael@174 | 34 | ldap_int_thread_userctx_t *ctx = vctx; |
michael@174 | 35 | |
michael@174 | 36 | - return ctx->ltu_id; |
michael@174 | 37 | + return ctx != NULL ? ctx->ltu_id : 0; |
michael@174 | 38 | } |
michael@174 | 39 | #endif /* LDAP_THREAD_HAVE_TPOOL */ |
michael@174 | 40 | Index: servers/slapd/back-perl/config.c |
michael@380 | 41 | --- servers/slapd/back-perl/config.c.orig 2011-01-05 00:50:41.000000000 +0100 |
michael@380 | 42 | +++ servers/slapd/back-perl/config.c 2011-02-12 10:17:43.000000000 +0100 |
michael@174 | 43 | @@ -49,6 +49,9 @@ |
michael@174 | 44 | } |
michael@174 | 45 | |
michael@174 | 46 | #ifdef PERL_IS_5_6 |
michael@174 | 47 | + if (argc > 2) |
michael@174 | 48 | + snprintf( eval_str, EVAL_BUF_SIZE, "require \"%s\";", argv[2] ); |
michael@174 | 49 | + else |
michael@174 | 50 | snprintf( eval_str, EVAL_BUF_SIZE, "use %s;", argv[1] ); |
michael@174 | 51 | eval_pv( eval_str, 0 ); |
michael@174 | 52 |