emscripten-core/emscripten
Auf GitHub ansehenMEMFS crashes when writing large file
Open
#13.028 geöffnet am 13. Dez. 2020
good first bughelp wantedwontfix
Repository-Metriken
- Stars
- (27.361 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 19T 10h) (147 gemergte PRs in 30 T)
Beschreibung
Minimal example
// test.c
#include <stdio.h>
int main() {
FILE *fp = fopen("/tmp/test.txt", "w");
fseek(fp, 2147483647, SEEK_SET);
fputs("a", fp);
fclose(fp);
return 0;
}
Compiled with emcc with no options.
Actual behavior
Running this on firefox gives
RangeError: invalid array length
while running on Chromium gives
RangeError: Array buffer allocation failed
This happens when MEMFS tries to create a TypedArray that is too large.
Expected behavior
This should be treated as MEMFS running out of disk space and return appropriate errors to wasm.
See also #11381