projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
fix leak
[m6w6/ext-psi]
/
src
/
libffi.c
diff --git
a/src/libffi.c
b/src/libffi.c
index eb5b2b518aa800bf8f9922d50cdd1d66e833785c..2c68fbf0ee4bb34834dd51b910bdb1ec39e3f3e5 100644
(file)
--- a/
src/libffi.c
+++ b/
src/libffi.c
@@
-10,6
+10,9
@@
# endif
# if HAVE_SYS_MMAN_H
# include <sys/mman.h>
# endif
# if HAVE_SYS_MMAN_H
# include <sys/mman.h>
+# ifndef MAP_ANONYMOUS
+# define MAP_ANONYMOUS MAP_ANON
+# endif
# endif
#endif
# endif
#endif
@@
-216,7
+219,8
@@
static void handler(ffi_cif *_sig, void *_result, void **_args, void *_data)
decl_arg *darg = data->impl->decl->args->args[i];
arg_ptr[i] = psi_do_let(darg);
decl_arg *darg = data->impl->decl->args->args[i];
arg_ptr[i] = psi_do_let(darg);
- arg_prm[i] = darg->let->val->is_reference ? &arg_ptr[i] : arg_ptr[i];
+ arg_prm[i] = (darg->let->val && darg->let->val->is_reference)
+ ? &arg_ptr[i] : arg_ptr[i];
darg->let->ptr = arg_ptr[i];
}
darg->let->ptr = arg_ptr[i];
}