From 30415944a861b9f025ac68efabbb4eb7774c7491 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Thu, 28 Apr 2016 15:54:07 -0600 Subject: pjproject_bundled: Disable PJSIP_UNESCAPE_IN_PLACE When pjsip_parse_uri is called with PJSIP_UNESCAPE_IN_PLACE enabled, the input uri string will become corrupted if it contains escape sequences. It's not possible to automatically strdup or strdupa the input string because the output uri pj_str_t's will have pointers to chunks of the input string. Getting around this would require more memory management code and wouldn't be worth the savings of doing the unescape in place. ASTERISK-25970 #close Reported-by: Dmitriy Serov Change-Id: I28dc0e599b5108f7959b9c46dc8278371b372f88 --- third-party/pjproject/patches/config_site.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/third-party/pjproject/patches/config_site.h b/third-party/pjproject/patches/config_site.h index 840d8b279..8e854b723 100644 --- a/third-party/pjproject/patches/config_site.h +++ b/third-party/pjproject/patches/config_site.h @@ -28,7 +28,11 @@ #define PJSIP_SAFE_MODULE 0 #define PJ_HAS_STRICMP_ALNUM 0 #define PJ_HASH_USE_OWN_TOLOWER 1 -#define PJSIP_UNESCAPE_IN_PLACE 1 +/* + It is imperative that PJSIP_UNESCAPE_IN_PLACE remain 0 or undefined. + Enabling it will result in SEGFAULTS when URIs containing escape sequences are encountered. +*/ +#undef PJSIP_UNESCAPE_IN_PLACE #define PJSIP_MAX_PKT_LEN 6000 #undef PJ_TODO -- cgit v1.2.3