serialization: Check for EOF and incomplete input conditions.
authorLudovic Courtès <ludo@gnu.org>
Sat, 7 Feb 2015 22:05:23 +0000 (23:05 +0100)
committerLudovic Courtès <ludo@gnu.org>
Sat, 7 Feb 2015 22:16:55 +0000 (23:16 +0100)
commit46b8aadbd6f4673aad27f6425f48a3b3ac5c88dc
treeac64736caa7b360207c2286a31d46835173bd718
parentcbc538fe69577068d5676428c77287d82123a704
serialization: Check for EOF and incomplete input conditions.

Fixes <http://bugs.gnu.org/19756>.
Reported by <sleep_walker@suse.cz>.

* guix/serialization.scm (currently-restored-file): New variable.
  (get-bytevector-n*): New procedure.
  (read-int, read-long-long, read-string, read-latin1-string,
  read-contents): Use it instead of 'get-bytevector-n'.
  (restore-file): Parameterize 'currently-restored-file' and set it.
* tests/nar.scm ("restore-file with incomplete input"): New test.
guix/serialization.scm
tests/nar.scm