From de6607c9cdb069ff834f0f3b9d3f353d1142a5b2 Mon Sep 17 00:00:00 2001 From: Don Date: Mon, 24 Sep 2018 16:37:13 -0700 Subject: [PATCH] ICU-20171 Fix buffer overrun in genccode --- icu4c/source/tools/toolutil/pkg_genc.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/icu4c/source/tools/toolutil/pkg_genc.cpp b/icu4c/source/tools/toolutil/pkg_genc.cpp index 0cf7a57ee11..13d73ceb407 100644 --- a/icu4c/source/tools/toolutil/pkg_genc.cpp +++ b/icu4c/source/tools/toolutil/pkg_genc.cpp @@ -309,16 +309,11 @@ writeAssemblyCode(const char *filename, const char *destdir, const char *optEntr T_FileStream_writeLine(out, assemblyHeader[assemblyHeaderIndex].beginLine); for(;;) { + memset(buffer, 0, sizeof(buffer)); length=T_FileStream_read(in, buffer, sizeof(buffer)); if(length==0) { break; } - if (length != sizeof(buffer)) { - /* pad with extra 0's when at the end of the file */ - for(i=0; i < (length % sizeof(uint32_t)); ++i) { - buffer[length+i] = 0; - } - } for(i=0; i<(length/sizeof(buffer[0])); i++) { column = write32(out, buffer[i], column); }