Browse Source

Merge pull request #9591 in CORE/base-third from release/10.0 to bugfix/10.0

* commit '98f5343e20aad985978d829bf3ef6a15bb0704f6':
  REPORT-103466 导出负载高
bugfix/10.0
superman 1 year ago
parent
commit
fe46e5f6e7
  1. 13
      fine-itext-old/src/main/java/com/fr/third/com/lowagie/text/pdf/ByteBuffer.java

13
fine-itext-old/src/main/java/com/fr/third/com/lowagie/text/pdf/ByteBuffer.java

@ -82,7 +82,8 @@ public class ByteBuffer extends OutputStream {
*/ */
public static boolean HIGH_PRECISION = false; public static boolean HIGH_PRECISION = false;
private static final DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); private static final DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US);
private static final int HALF_INTEGER = Integer.MAX_VALUE >> 1;
/** Creates new ByteBuffer with capacity 128 */ /** Creates new ByteBuffer with capacity 128 */
public ByteBuffer() { public ByteBuffer() {
this(128); this(128);
@ -188,8 +189,11 @@ public class ByteBuffer extends OutputStream {
*/ */
public ByteBuffer append_i(int b) { public ByteBuffer append_i(int b) {
int newcount = count + 1; int newcount = count + 1;
if (newcount < 0) {
throw new OutOfMemoryError();
}
if (newcount > buf.length) { if (newcount > buf.length) {
byte newbuf[] = new byte[Math.max(buf.length << 1, newcount)]; byte newbuf[] = new byte[Math.max(Math.min(buf.length, HALF_INTEGER) << 1, newcount)];
System.arraycopy(buf, 0, newbuf, 0, count); System.arraycopy(buf, 0, newbuf, 0, count);
buf = newbuf; buf = newbuf;
} }
@ -211,8 +215,11 @@ public class ByteBuffer extends OutputStream {
((off + len) > b.length) || ((off + len) < 0) || len == 0) ((off + len) > b.length) || ((off + len) < 0) || len == 0)
return this; return this;
int newcount = count + len; int newcount = count + len;
if (newcount < 0) {
throw new OutOfMemoryError();
}
if (newcount > buf.length) { if (newcount > buf.length) {
byte newbuf[] = new byte[Math.max(buf.length << 1, newcount)]; byte newbuf[] = new byte[Math.max(Math.min(buf.length, HALF_INTEGER) << 1, newcount)];
System.arraycopy(buf, 0, newbuf, 0, count); System.arraycopy(buf, 0, newbuf, 0, count);
buf = newbuf; buf = newbuf;
} }

Loading…
Cancel
Save