diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_receiver.erl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ejabberd_receiver.erl b/src/ejabberd_receiver.erl index dfa03fd4e..aa39dfbdc 100644 --- a/src/ejabberd_receiver.erl +++ b/src/ejabberd_receiver.erl @@ -117,7 +117,12 @@ handle_call({starttls, TLSSocket}, _From, #state{xml_stream_state = XMLStreamState, c2s_pid = C2SPid, max_stanza_size = MaxStanzaSize} = State) -> - xml_stream:close(XMLStreamState), + if + XMLStreamState /= undefined -> + xml_stream:close(XMLStreamState); + true -> + ok + end, NewXMLStreamState = xml_stream:new(C2SPid, MaxStanzaSize), NewState = State#state{socket = TLSSocket, sock_mod = tls, |