diff -urN rpm-5.4.10/rpmdb/signature.c rpm-5.4.12/rpmdb/signature.c --- rpm-5.4.10/rpmdb/signature.c 2012-04-17 01:43:35.000000000 +0200 +++ rpm-5.4.12/rpmdb/signature.c 2013-06-28 18:42:13.000000000 +0200 @@ -12,7 +12,6 @@ #include /* XXX for rpmGetPath() */ #include #include -#include #include #include "rpmdb.h" @@ -503,7 +504,7 @@ if (!(pid = fork())) { const char * cmd; - ARGV_t av; + char *const *av; int fdno; xx = close(STDIN_FILENO); @@ -528,16 +529,13 @@ (void) setenv("GNUPGHOME", gpg_path, 1); cmd = rpmExpand("%{?__gpg_check_password_cmd}", NULL); - rc = argvSplit(&av, cmd, NULL); + rc = poptParseArgvString(cmd, NULL, (const char ***)&av); if (!rc) - rc = execve(av[0], (char *const *)av+1, environ); + rc = execve(av[0], av+1, environ); rpmlog(RPMLOG_ERR, _("Could not exec %s: %s\n"), "gpg", strerror(errno)); - cmd = _free(cmd); - gpg_path = _free(gpg_path); } - av = argvFree(av); } pw = rpmkuPassPhrase(passPhrase);