aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Cornish <[email protected]>2018-08-14 21:43:01 -0700
committerSimon Cornish <[email protected]>2018-08-14 21:43:01 -0700
commit7f2efcc8cb3f104e6e3a53b18ce559842450b780 (patch)
tree02949c47990c299c70839455f730b2a0199e3db3
parent3e9d91db52c3be046be13f2a5e6330a1509e30fc (diff)
downloadotp-7f2efcc8cb3f104e6e3a53b18ce559842450b780.tar.gz
otp-7f2efcc8cb3f104e6e3a53b18ce559842450b780.tar.bz2
otp-7f2efcc8cb3f104e6e3a53b18ce559842450b780.zip
Fixed bug calling erl_compare_ext with terms containing lists
The comparison did not consider the list tail and therefore would consider the following pairs of terms equal: {<<1,2,3>>, [901,902], 224} and {<<1,2,3>>, [901,902], 228} {a|b} and {a|c}
-rw-r--r--lib/erl_interface/src/legacy/erl_marshal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/erl_interface/src/legacy/erl_marshal.c b/lib/erl_interface/src/legacy/erl_marshal.c
index c18067b9bc..932bba43bf 100644
--- a/lib/erl_interface/src/legacy/erl_marshal.c
+++ b/lib/erl_interface/src/legacy/erl_marshal.c
@@ -1803,7 +1803,7 @@ static int cmp_exe2(unsigned char **e1, unsigned char **e2)
k = 0;
while (1) {
if (k++ == min){
- if (i == j) return 0;
+ if (i == j) return compare_top_ext(e1 , e2);
if (i < j) return -1;
return 1;
}