@@ -153,7 +153,11 @@ var SyscallsLibrary = {
153
153
] ,
154
154
_mmap_js : ( len , prot , flags , fd , offset , allocated , addr ) => {
155
155
#if FILESYSTEM && SYSCALLS_REQUIRE_FILESYSTEM
156
- if ( isNaN ( offset ) ) return { { { cDefs . EOVERFLOW } } } ;
156
+ #if ASSERTIONS
157
+ // musl's mmap doesn't allow values over a certain limit
158
+ // see OFF_MASK in mmap.c.
159
+ assert ( ! isNaN ( offset ) ) ;
160
+ #endif
157
161
var stream = SYSCALLS . getStreamFromFD ( fd ) ;
158
162
var res = FS . mmap ( stream , len , offset , prot , flags ) ;
159
163
var ptr = res . ptr ;
@@ -631,7 +635,7 @@ var SyscallsLibrary = {
631
635
} ,
632
636
_msync_js__i53abi : true ,
633
637
_msync_js : ( addr , len , prot , flags , fd , offset ) => {
634
- if ( isNaN ( offset ) ) return { { { cDefs . EOVERFLOW } } } ;
638
+ if ( isNaN ( offset ) ) return - { { { cDefs . EOVERFLOW } } } ;
635
639
SYSCALLS . doMsync ( addr , SYSCALLS . getStreamFromFD ( fd ) , len , flags , offset ) ;
636
640
return 0 ;
637
641
} ,
@@ -670,14 +674,14 @@ var SyscallsLibrary = {
670
674
} ,
671
675
__syscall_truncate64__i53abi : true ,
672
676
__syscall_truncate64 : ( path , length ) = > {
673
- if ( isNaN ( length ) ) return { { { cDefs . EOVERFLOW } } } ;
677
+ if ( isNaN ( length ) ) return - { { { cDefs . EOVERFLOW } } } ;
674
678
path = SYSCALLS . getStr ( path ) ;
675
679
FS . truncate ( path , length ) ;
676
680
return 0 ;
677
681
} ,
678
682
__syscall_ftruncate64__i53abi : true ,
679
683
__syscall_ftruncate64 : ( fd , length ) => {
680
- if ( isNaN ( length ) ) return { { { cDefs . EOVERFLOW } } } ;
684
+ if ( isNaN ( length ) ) return - { { { cDefs . EOVERFLOW } } } ;
681
685
FS . ftruncate ( fd , length ) ;
682
686
return 0 ;
683
687
} ,
@@ -995,7 +999,7 @@ var SyscallsLibrary = {
995
999
} ,
996
1000
__syscall_fallocate__i53abi : true ,
997
1001
__syscall_fallocate : ( fd , mode , offset , len ) => {
998
- if ( isNaN ( offset ) ) return { { { cDefs . EOVERFLOW } } } ;
1002
+ if ( isNaN ( offset ) || isNaN ( len ) ) return - { { { cDefs . EOVERFLOW } } } ;
999
1003
if ( mode != 0 ) {
1000
1004
return - { { { cDefs . ENOTSUP } } }
1001
1005
}
0 commit comments