From: snuffy Date: Fri, 15 May 2015 06:54:26 +0000 (+1000) Subject: cdr: Fix 'core show channel' CDR variable truncation. X-Git-Tag: 13.4.0-rc1~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fchanges%2F78%2F478%2F4;p=thirdparty%2Fasterisk.git cdr: Fix 'core show channel' CDR variable truncation. When the new Bridging API was implemented, the workspace variable changed to a malloc'd string, causing sizeof() to always be 8 (char). Revert back to stored on stack string for workspace. ASTERISK-25090 #close Change-Id: I51e610ae87371df771ce7693a955510efb90f8f7 --- diff --git a/main/cdr.c b/main/cdr.c index 5e24dae1b2..96d055ca09 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -3096,13 +3096,9 @@ int ast_cdr_serialize_variables(const char *channel_name, struct ast_str **buf, struct cdr_object *it_cdr; struct ast_var_t *variable; const char *var; - RAII_VAR(char *, workspace, ast_malloc(256), ast_free); + char workspace[256]; int total = 0, x = 0, i; - if (!workspace) { - return 0; - } - if (!cdr) { RAII_VAR(struct module_config *, mod_cfg, ao2_global_obj_ref(module_configs), ao2_cleanup);