# HG changeset patch # User sherman # Date 1528321008 25200 # Node ID 2bafeb7a1f6bf5901c041bd7f7a5ae52cd6617e8 # Parent 3a91f09a46befd0ea3ac5084182e9f09a2bb7cb9 8204494: Fix for 8200530 triggered regression, closed/test/jdk/security/infra/java/security/KeyStore/BouncyCastleInterop.java failed Reviewed-by: rriggs diff -r 3a91f09a46be -r 2bafeb7a1f6b src/java.base/share/classes/java/util/jar/Manifest.java --- a/src/java.base/share/classes/java/util/jar/Manifest.java Wed Jun 06 17:10:37 2018 -0400 +++ b/src/java.base/share/classes/java/util/jar/Manifest.java Wed Jun 06 14:36:48 2018 -0700 @@ -393,7 +393,27 @@ off += n; total += n; pos = tpos; - if (c == '\n' || c == '\r') { + c = tbuf[tpos-1]; + if (c == '\n') { + break; + } + if (c == '\r') { + if (count == pos) { + // try to see if there is a trailing LF + fill(); + if (pos < count && tbuf[pos] == '\n') { + if (total < len) { + b[off++] = '\n'; + total++; + } else { + // we should always have big enough lbuf but + // just in case we don't, replace the last CR + // with LF. + b[off - 1] = '\n'; + } + pos++; + } + } break; } }