summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2006-03-21 18:41:34 +0000
committerespie <espie@openbsd.org>2006-03-21 18:41:34 +0000
commita55a0a51b9eb58ed737105582ade609d55efe45b (patch)
tree7e2dfbf949d74d06bc7dc4b62fb371ceb5006a87
parentImplementation of the Michael MIC as defined in IEEE 802.11i for TKIP. (diff)
downloadwireguard-openbsd-a55a0a51b9eb58ed737105582ade609d55efe45b.tar.xz
wireguard-openbsd-a55a0a51b9eb58ed737105582ade609d55efe45b.zip
fix endless loop in case of error in archive header.
-rw-r--r--usr.sbin/pkg_add/OpenBSD/Ustar.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Ustar.pm b/usr.sbin/pkg_add/OpenBSD/Ustar.pm
index 6b1f88e40f2..b57e713548f 100644
--- a/usr.sbin/pkg_add/OpenBSD/Ustar.pm
+++ b/usr.sbin/pkg_add/OpenBSD/Ustar.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: Ustar.pm,v 1.40 2005/10/26 09:47:48 espie Exp $
+# $OpenBSD: Ustar.pm,v 1.41 2006/03/21 18:41:34 espie Exp $
#
# Copyright (c) 2002-2004 Marc Espie <espie@openbsd.org>
#
@@ -75,6 +75,9 @@ sub skip
if (!defined $actual) {
die "Error while skipping archive: $!\n";
}
+ if ($actual == 0) {
+ die "Premature end of archive in header: $!\n";
+ }
$self->{swallow} -= $actual;
}
}