projects
/
ejabberd
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d039b9b
)
ejabberd_http: Cope with large POST/PUT requests
author
Holger Weiss
<holger@zedat.fu-berlin.de>
Sun, 20 Dec 2015 22:30:11 +0000
(23:30 +0100)
committer
Holger Weiss
<holger@zedat.fu-berlin.de>
Sun, 20 Dec 2015 22:30:11 +0000
(23:30 +0100)
gen_tcp returns 'enomem' if we try to receive more than 64 MiB.
src/ejabberd_http.erl
patch
|
blob
|
history
diff --git
a/src/ejabberd_http.erl
b/src/ejabberd_http.erl
index 6d54a7edaac213def0c6125e6d4cd6b94b90fcc6..920361017c1006008a9cedca46f665ee79d77a1d 100644
(file)
--- a/
src/ejabberd_http.erl
+++ b/
src/ejabberd_http.erl
@@
-513,8
+513,8
@@
recv_data(#state{trail = Trail} = State, Len, <<>>) when byte_size(Trail) > Len
recv_data(State, Len, Acc) ->
case State#state.trail of
<<>> ->
- case (State#state.sockmod):recv(State#state.socket,
Len,
- 300000)
+ case (State#state.sockmod):recv(State#state.socket,
+
min(Len, 16#4000000),
300000)
of
{ok, Data} ->
recv_data(State, Len - byte_size(Data), <<Acc/binary, Data/binary>>);