aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-01-18 22:19:04 +0100
committerLudovic Courtès <ludo@gnu.org>2015-01-18 22:19:04 +0100
commit71c1d5280cdeba90cfd1230f5f376a7e89b93694 (patch)
tree1e540f5adb3cf6b862d0e02856ae99f781b1703c
parentaa27b56083f1b4f05db11bfb160860ed6af34e2b (diff)
downloadguix-71c1d5280cdeba90cfd1230f5f376a7e89b93694.tar.gz
guix-71c1d5280cdeba90cfd1230f5f376a7e89b93694.zip
nar: Read archive signatures as Latin-1 strings.
Fixes <http://bugs.gnu.org/19610>. Reported by Mark H Weaver <mhw@netris.org>. * guix/nar.scm (restore-one-item): Use 'read-latin1-string' to read the signature.
-rw-r--r--guix/nar.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/guix/nar.scm b/guix/nar.scm
index bab727e65d..43e5210752 100644
--- a/guix/nar.scm
+++ b/guix/nar.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -211,7 +211,9 @@ s-expression"))
(_ "importing file or directory '~a'...~%")
file)
- (let ((sig (and has-sig? (read-string port))))
+ ;; The signature may contain characters that are meant to be
+ ;; interpreted as bytes in a 'char *', so read them as a ISO-8859-1.
+ (let ((sig (and has-sig? (read-latin1-string port))))
(when verify-signature?
(if sig
(begin