diff --git a/src/cmd/acme/dat.h b/src/cmd/acme/dat.h
index d0feb09..5c156eb 100644
--- a/src/cmd/acme/dat.h
+++ b/src/cmd/acme/dat.h
@@ -69,7 +69,7 @@
 
 struct Block
 {
-	uint		addr;	/* disk address in bytes */
+	vlong		addr;	/* disk address in bytes */
 	union
 	{
 		uint	n;		/* number of used runes in block */
@@ -80,7 +80,7 @@
 struct Disk
 {
 	int		fd;
-	uint		addr;	/* length of temp file */
+	vlong		addr;	/* length of temp file */
 	Block	*free[Maxblock/Blockincr+1];
 };
 
diff --git a/src/cmd/acme/disk.c b/src/cmd/acme/disk.c
index 857d932..8d95fa1 100644
--- a/src/cmd/acme/disk.c
+++ b/src/cmd/acme/disk.c
@@ -82,6 +82,9 @@
 		b = blist;
 		blist = b->u.next;
 		b->addr = d->addr;
+		if(d->addr+size < d->addr){
+			error("temp file overflow");
+		}
 		d->addr += size;
 	}
 	b->u.n = n;
diff --git a/src/cmd/sam/disk.c b/src/cmd/sam/disk.c
index 81c9838..50bbc07 100644
--- a/src/cmd/sam/disk.c
+++ b/src/cmd/sam/disk.c
@@ -75,6 +75,9 @@
 		b = blist;
 		blist = b->u.next;
 		b->addr = d->addr;
+		if(d->addr+size < d->addr){
+			panic("temp file overflow");
+		}
 		d->addr += size;
 	}
 	b->u.n = n;
diff --git a/src/cmd/sam/sam.h b/src/cmd/sam/sam.h
index f182ec9..c2aaa07 100644
--- a/src/cmd/sam/sam.h
+++ b/src/cmd/sam/sam.h
@@ -113,7 +113,7 @@
 
 struct Block
 {
-	uint		addr;	/* disk address in bytes */
+	vlong		addr;	/* disk address in bytes */
 	union {
 		uint	n;	/* number of used runes in block */
 		Block	*next;	/* pointer to next in free list */
@@ -123,7 +123,7 @@
 struct Disk
 {
 	int		fd;
-	uint		addr;	/* length of temp file */
+	vlong		addr;	/* length of temp file */
 	Block		*free[Maxblock/Blockincr+1];
 };
 
