summaryrefslogtreecommitdiff
path: root/guix/pk-crypto.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/pk-crypto.scm')
-rw-r--r--guix/pk-crypto.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/guix/pk-crypto.scm b/guix/pk-crypto.scm
index 0e7affcce8..cf18faea04 100644
--- a/guix/pk-crypto.scm
+++ b/guix/pk-crypto.scm
@@ -298,8 +298,11 @@ return #f if not found."
(if (= index len)
result
(loop (+ 1 index)
- (proc (or (canonical-sexp-nth sexp index)
- (canonical-sexp-nth-data sexp index))
+ ;; XXX: Call 'nth-data' *before* 'nth' to work around
+ ;; <https://bugs.g10code.com/gnupg/issue1594>, which
+ ;; affects 1.6.0 and earlier versions.
+ (proc (or (canonical-sexp-nth-data sexp index)
+ (canonical-sexp-nth sexp index))
result)))))
(error "sexp is not a list" sexp)))