about summary refs log tree commit diff
path: root/src/usr.bin/signify/zsig.c
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2023-10-18 13:47:02 +0200
committerLeah Neukirchen <leah@vuxu.org>2023-10-18 13:47:02 +0200
commit1801c3416670e4ed69d721f41fcae307158df1bb (patch)
tree45c472aa516c8c2fc5acb9ddbf6ce1e361a21fbe /src/usr.bin/signify/zsig.c
parent168d9538f16869d4cdcbcc01a5ddce0af4a8b918 (diff)
downloadoutils-1801c3416670e4ed69d721f41fcae307158df1bb.tar.gz
outils-1801c3416670e4ed69d721f41fcae307158df1bb.tar.xz
outils-1801c3416670e4ed69d721f41fcae307158df1bb.zip
cvs update
Diffstat (limited to 'src/usr.bin/signify/zsig.c')
-rw-r--r--src/usr.bin/signify/zsig.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/usr.bin/signify/zsig.c b/src/usr.bin/signify/zsig.c
index e3533fd..ca76b5c 100644
--- a/src/usr.bin/signify/zsig.c
+++ b/src/usr.bin/signify/zsig.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: zsig.c,v 1.18 2019/12/22 06:37:25 espie Exp $ */
+/* $OpenBSD: zsig.c,v 1.19 2023/04/29 10:08:18 espie Exp $ */
 /*
  * Copyright (c) 2016 Marc Espie <espie@openbsd.org>
  *
@@ -160,6 +160,8 @@ copy_blocks(int fdout, int fdin, const char *sha, const char *endsha,
 			if (more == 0)
 				break;
 		}
+		if (n == 0)
+			break;
 		SHA512_256Data(buffer, n, output);
 		if (endsha - sha < SHA512_256_DIGEST_STRING_LENGTH-1)
 			errx(4, "signature truncated");
@@ -172,6 +174,8 @@ copy_blocks(int fdout, int fdin, const char *sha, const char *endsha,
 		if (n != bufsize)
 			break;
 	}
+	if (endsha != sha)
+		errx(4, "file truncated");
 	free(buffer);
 }