From a9fb58a83ec8738a371d6be995d457b88e16a2f4 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Fri, 22 Mar 2019 04:17:23 +0100 Subject: [PATCH] dialog: parse tm callback reply in early phase to detect broken format (cherry picked from commit 6b9837c30f9d2a2ca937d7e6d8c1c496fe4d7d30) (cherry picked from commit c2995f731ab3a94f302af63bdad9c3bf61d4e995) --- src/modules/dialog/dlg_handlers.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/dialog/dlg_handlers.c b/src/modules/dialog/dlg_handlers.c index c80ca7d59f6..a2f50b7e3e2 100644 --- a/src/modules/dialog/dlg_handlers.c +++ b/src/modules/dialog/dlg_handlers.c @@ -438,6 +438,13 @@ static void dlg_onreply(struct cell* t, int type, struct tmcb_params *param) if(dlg==0) return; + if (rpl != FAKED_REPLY) { + if(parse_headers(rpl, HDR_EOH_F, 0) < 0) { + LM_ERR("failed to parse the reply headers\n"); + goto done_early; + } + } + unref = 0; if (type & (TMCB_RESPONSE_IN|TMCB_ON_FAILURE)) { /* Set the dialog context so it is available in onreply_route and failure_route*/