diff options
author | Loïc Hoguin <[email protected]> | 2019-12-27 11:56:49 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2019-12-27 11:56:49 +0100 |
commit | 61dbb6d2189264083173929edfaa19c2c7af8184 (patch) | |
tree | 60ab941662d8c3e8ffb4a010ac81df393c88be63 /src/cow_hpack.erl | |
parent | bbc343c1399dd9d3e8468adc9a41b8529e748280 (diff) | |
download | cowlib-61dbb6d2189264083173929edfaa19c2c7af8184.tar.gz cowlib-61dbb6d2189264083173929edfaa19c2c7af8184.tar.bz2 cowlib-61dbb6d2189264083173929edfaa19c2c7af8184.zip |
HPACK decode: don't try to drop entries when increasing size
Diffstat (limited to 'src/cow_hpack.erl')
-rw-r--r-- | src/cow_hpack.erl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cow_hpack.erl b/src/cow_hpack.erl index 7db69b0..ea0ddd6 100644 --- a/src/cow_hpack.erl +++ b/src/cow_hpack.erl @@ -1349,8 +1349,9 @@ table_resize([Entry = {EntrySize, _}|Tail], MaxSize, Size, Acc) -> table_update_size(0, State) -> State#state{size=0, max_size=0, dyn_table=[]}; -table_update_size(MaxSize, State=#state{max_size=MaxSize}) -> - State; +table_update_size(MaxSize, State=#state{max_size=CurrentMaxSize}) + when CurrentMaxSize =< MaxSize -> + State#state{max_size=MaxSize}; table_update_size(MaxSize, State=#state{dyn_table=DynTable}) -> {DynTable2, Size} = table_resize(DynTable, MaxSize, 0, []), State#state{size=Size, max_size=MaxSize, dyn_table=DynTable2}. |