Age | Commit message (Collapse) | Author |
|
Check the length of the buffer before copying.
ei_cnode ec;
struct in_addr addr;
char *node = (char *)calloc(5001, 1);
(void)memset(node, 'x', 5000);
ei_connect_init(&ec, node, "", 0);
addr.s_addr = inet_addr("192.168.1.1");
ei_xconnect(&ec, &addr, node);
|
|
- Removed unused variable in ei_decode_term.c
- Fixed faulty deallocation
|
|
Earlier, external format INTEGER_EXT was only produced for 28-bit
signed integers. Now full 32-bit signed integers are produced as
INTEGER_EXT to avoid the more costly SMALL_BIG_EXT format. Both old
and new code can read 32-bit INTEGER_EXT.
Also fixed integer encoding bugs in erl_interface erl_encode/erl_decode.
(Thanks to Alexander Demidenko for reporting)
|
|
* sv/serge-new_float_ext:
Let ei_get_type() return ERL_FLOAT_EXT instead of NEW_FLOAT_EXT
Fix ei_tmo to restrict dflags to NEW_FLOAT_EXT
compact IEEE 754 double encoding in external binary format for ei
fix typo in ei_decode_ei_term documentation
OTP-8684 sv/serge-new_float_ext
compact IEEE 754 double encoding in external binary format for ei
Implement the compact IEEE 754 double encoding in external binary format
for ei. Encoding for ei now always produces the NEW_FLOAT_EXT format.
Decoding and term printing handle both the old ERL_FLOAT_EXT encoding and
the new NEW_FLOAT_EXT encoding.
Legacy erl_interface code also handles the new encoding, but still produces
the ERL_FLOAT_EXT encoding by default.
Also enable the DFLAG_NEW_FLOATS distribution flag.
ei_get_type() will return ERL_FLOAT_EXT regardless if the external format
is encoded with ERL_FLOAT_EXT or NEW_FLOAT_EXT for doubles.
Reduce the number of copies of the code for encoding and decoding doubles
throughout ei and erl_interface by instead calling the ei encoding and
decoding functions wherever possible.
Restore commented-out float tests in ei_decode_SUITE and ei_encode_SUITE in
lib/erl_interface/test. Modify them to make them match the style of other
tests in the same suites.
These changes are based on an ei float patch from Serge Aleynikov
originally submitted against R12B-2 in July 2008 and reworked by Steve
Vinoski May 2010.
|
|
|
|
Implement the compact IEEE 754 double encoding in external binary
format for ei. Encoding for ei now always produces the NEW_FLOAT_EXT
format. Decoding and term printing handle both the old ERL_FLOAT_EXT
encoding and the new NEW_FLOAT_EXT encoding. Legacy erl_interface code
also handles the new encoding, but still produces the ERL_FLOAT_EXT
encoding by default.
Also enable the DFLAG_NEW_FLOATS distribution flag.
Reduce the number of copies of the code for encoding and decoding
doubles throughout ei and erl_interface by instead calling the ei
encoding and decoding functions wherever possible.
Restore commented-out float tests in ei_decode_SUITE and
ei_encode_SUITE in lib/erl_interface/test. Modify them to make them
match the style of other tests in the same suites.
These changes are based on an ei float patch from Serge Aleynikov
originally submitted against R12B-2 in July 2008.
|
|
|
|
improvements.
Most notable:
Lots of cross compilation improvements. The old cross compilation
support was more or less non-existing as well as broken. Please,
note that the cross compilation support should still be
considered as experimental. Also note that old cross compilation
configurations cannot be used without modifications. For more
information on cross compiling Erlang/OTP see the
$ERL_TOP/xcomp/README file.
Support for staged install using <url
href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
For more information see the $ERL_TOP/README file.
Documentation of the release target of the top Makefile. For more
information see the $ERL_TOP/README file.
make install now by default creates relative symbolic links
instead of absolute ones. For more information see the
$ERL_TOP/README file.
$ERL_TOP/configure --help=recursive now works and prints help for
all applications with configure scripts.
Doing make install, or make release directly after make all no
longer triggers miscellaneous rebuilds.
Existing bootstrap system is now used when doing make install, or
make release without a preceding make all.
The crypto and ssl applications use the same runtime library path
when dynamically linking against libssl.so and libcrypto.so. The
runtime library search path has also been extended.
The configure scripts of erl_interface and odbc now search for
thread libraries and thread library quirks the same way as erts
do.
The configure script of the odbc application now also looks for
odbc libraries in lib64 and lib/64 directories when building on a
64-bit system.
The config.h.in file in the erl_interface application is now
automatically generated in instead of statically updated which
reduces the risk of configure tests without any effect.
|
|
* sf/erl_match-longlong:
erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms
OTP-8400 Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms
(Thanks to Scott Lystig Fritchie).
|
|
The Erlang/OTP distro now includes 90% of what's required to handle signed and
unsigned ints up to 8 bytes long, so add this remaining (?) 10%.
|
|
The symbol ei_tracelevel was not declared extern which could
crash the linking step on some compilers.
Updated .gitignore to ignore object files in erl_interface.
|
|
* sc/ei_decode_skip_fun:
Fix ei_skip_term() handling of funs encoded as NEW_FUN_EXT
|
|
|
|
Debug trace output for connection activity could be enabled
setting the trace level as an integer to the EI_TRACELEVEL
environment variable. This option could also be read and set from
a running program using ei_get_tracelevel(void) and
ei_set_tracelevel(int).
|
|
Debug trace output for connection activity could be enabled
setting the trace level as an integer to the EI_TRACELEVEL
environment variable. This option could also be read and set from
a running program using ei_get_tracelevel(void) and
ei_set_tracelevel(int).
|
|
|