diff options
Diffstat (limited to 'scd')
-rw-r--r-- | scd/ChangeLog | 2 | ||||
-rw-r--r-- | scd/apdu.c | 13 |
2 files changed, 4 insertions, 11 deletions
diff --git a/scd/ChangeLog b/scd/ChangeLog index 6ae7da589..28fd31e17 100644 --- a/scd/ChangeLog +++ b/scd/ChangeLog @@ -1,5 +1,7 @@ 2009-03-18 Werner Koch <[email protected]> + * apdu.c (open_pcsc_reader_wrapped): Use close_all_fds. + * command.c (cmd_learn): Add option --keypairinfo. * app.c (app_write_learn_status): Add arg FLAGS. * app-common.h (struct app_ctx_s): Add arg FLAGS to LEARN_STATUS. diff --git a/scd/apdu.c b/scd/apdu.c index bbd7ea801..dfddd3f72 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -57,6 +57,7 @@ #include "cardglue.h" #else /* GNUPG_MAJOR_VERSION != 1 */ #include "scdaemon.h" +#include "exechelp.h" #endif /* GNUPG_MAJOR_VERSION != 1 */ #include "apdu.h" @@ -81,11 +82,6 @@ #define DLSTDCALL #endif -#ifdef _POSIX_OPEN_MAX -#define MAX_OPEN_FDS _POSIX_OPEN_MAX -#else -#define MAX_OPEN_FDS 20 -#endif /* Helper to pass parameters related to keypad based operations. */ struct pininfo_s @@ -1653,12 +1649,7 @@ open_pcsc_reader_wrapped (const char *portstr) log_fatal ("dup2 stderr failed: %s\n", strerror (errno)); /* Close all other files. */ - n = sysconf (_SC_OPEN_MAX); - if (n < 0) - n = MAX_OPEN_FDS; - for (i=3; i < n; i++) - close(i); - errno = 0; + close_all_fds (3, NULL); execl (wrapperpgm, "pcsc-wrapper", |