Mercurial > prosody-hg
comparison util/xmppstream.lua @ 9071:db61e33bbd41
util.xmppstream: Explicitly release old parser object on stream reset
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 31 Jul 2018 15:42:45 +0100 |
| parents | 19e51d8f8947 |
| children | 1266a63ba567 63fd4c8465fb |
comparison
equal
deleted
inserted
replaced
| 9070:21730a3642fe | 9071:db61e33bbd41 |
|---|---|
| 276 end, | 276 end, |
| 277 feed = function (self, data) -- luacheck: ignore 212/self | 277 feed = function (self, data) -- luacheck: ignore 212/self |
| 278 if lxp_supports_bytecount then | 278 if lxp_supports_bytecount then |
| 279 n_outstanding_bytes = n_outstanding_bytes + #data; | 279 n_outstanding_bytes = n_outstanding_bytes + #data; |
| 280 end | 280 end |
| 281 local ok, err = parse(parser, data); | 281 local _parser = parser; |
| 282 local ok, err = parse(_parser, data); | |
| 282 if lxp_supports_bytecount and n_outstanding_bytes > stanza_size_limit then | 283 if lxp_supports_bytecount and n_outstanding_bytes > stanza_size_limit then |
| 283 return nil, "stanza-too-large"; | 284 return nil, "stanza-too-large"; |
| 285 end | |
| 286 if parser ~= _parser then | |
| 287 _parser:parse(); | |
| 288 _parser:close(); | |
| 284 end | 289 end |
| 285 return ok, err; | 290 return ok, err; |
| 286 end, | 291 end, |
| 287 set_session = meta.set_session; | 292 set_session = meta.set_session; |
| 288 }; | 293 }; |
