From d387b8c6ddb40a03eca3fad443a3f09cac2c6f58 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Sun, 27 Jan 2008 16:39:26 -0800 Subject: [PATCH] BR 1880905: make sure we have enough zero-padding data for 'DO' When using DO with a string that was too short, we would run off the end of an all-zero buffer. Make sure the buffer is long enough. --- assemble.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assemble.c b/assemble.c index f15b11a8..681af699 100644 --- a/assemble.c +++ b/assemble.c @@ -312,7 +312,8 @@ int64_t assemble(int32_t segment, int64_t offset, int bits, uint32_t cp, if (align) { align = wsize - align; - out(offset, segment, "\0\0\0\0\0\0\0\0", + out(offset, segment, + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", OUT_RAWDATA, align, NO_SEG, NO_SEG); } offset += e->stringlen + align;