diff options
author | Sverker Eriksson <[email protected]> | 2012-08-14 12:28:22 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2012-08-14 14:28:08 +0200 |
commit | 29921882be8873f763f6135badc864442de74304 (patch) | |
tree | 446232fcbc0d0a86a15e7ed2c7f256aa58a3ff0a /lib | |
parent | b163b5e9d80861272a9b1253e48175cc31294378 (diff) | |
download | otp-29921882be8873f763f6135badc864442de74304.tar.gz otp-29921882be8873f763f6135badc864442de74304.tar.bz2 otp-29921882be8873f763f6135badc864442de74304.zip |
Fix corrupted binaries in compressed ETS tables
Diffstat (limited to 'lib')
-rw-r--r-- | lib/stdlib/test/ets_SUITE.erl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/stdlib/test/ets_SUITE.erl b/lib/stdlib/test/ets_SUITE.erl index 297c4ec1c9..97ac433cb9 100644 --- a/lib/stdlib/test/ets_SUITE.erl +++ b/lib/stdlib/test/ets_SUITE.erl @@ -74,6 +74,7 @@ -export([bad_table/1, types/1]). -export([otp_9932/1]). -export([otp_9423/1]). +-export([otp_10182/1]). -export([init_per_testcase/2, end_per_testcase/2]). %% Convenience for manual testing @@ -146,6 +147,7 @@ all() -> exit_many_large_table_owner, exit_many_tables_owner, exit_many_many_tables_owner, write_concurrency, heir, give_away, setopts, bad_table, types, + otp_10182, otp_9932, otp_9423]. @@ -5470,6 +5472,20 @@ otp_9423(Config) when is_list(Config) -> Skipped -> Skipped end. + +%% Corrupted binary in compressed table +otp_10182(Config) when is_list(Config) -> + Bin = <<"aHR0cDovL2hvb3RzdWl0ZS5jb20vYy9wcm8tYWRyb2xsLWFi">>, + Key = {test, Bin}, + Value = base64:decode(Bin), + In = {Key,Value}, + Db = ets:new(undefined, [set, protected, {read_concurrency, true}, compressed]), + ets:insert(Db, In), + [Out] = ets:lookup(Db, Key), + io:format("In : ~p\nOut: ~p\n", [In,Out]), + ets:delete(Db), + In = Out. + |