# HG changeset patch # User Jaroslav Tulach # Date 1459142561 -7200 # Node ID 66c99d4b35323a21983a3013e712c0fdbb6d4ab5 # Parent a9d37af23a0093f17c4e1ecdc9c853913811b30a Reading streams in Java isn't completely easy: Prevent allocating zero length array. diff -r a9d37af23a00 -r 66c99d4b3532 rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Mon Mar 28 06:34:38 2016 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Mon Mar 28 07:22:41 2016 +0200 @@ -107,7 +107,11 @@ append("\n ").append(getExportsObject()).append("['registerResource']('"); append(r).append("', '"); InputStream is = this.resources.get(r); - byte[] arr = new byte[is.available()]; + int avail = is.available(); + if (avail <= 0) { + avail = 4096; + } + byte[] arr = new byte[avail]; int offset = 0; for (;;) { if (offset == arr.length) {