Index: manager.c =================================================================== --- manager.c (revision 11943) +++ manager.c (working copy) @@ -1730,9 +1730,10 @@ ast_mutex_unlock(&sessionlock); if (manager_hooks) { struct manager_custom_hook *hookp; - ast_mutex_lock(&hooklock); char *p; int len; + + ast_mutex_lock(&hooklock); snprintf(tmp, sizeof(tmp), "event: %s\r\nprivilege: %s\r\n", event, authority_to_str(category, tmp, sizeof(tmp))); len = strlen(tmp); p = tmp + len; @@ -1944,15 +1945,16 @@ cat = ast_category_browse(cfg, NULL); amus=NULL; /* Resetting the boss */ while(cat) { + struct ast_variable *var; + struct ast_manager_user *amu; + if (!strcasecmp(cat, "general")) { ast_log(LOG_NOTICE, "ignoring the cat general\n"); cat = ast_category_browse(cfg, cat); continue; } - struct ast_manager_user *amu = malloc(sizeof(struct ast_manager_user)); - memset(amu, 0, sizeof(struct ast_manager_user)); - struct ast_variable *var; + amu = ast_calloc(1, sizeof(struct ast_manager_user)); var = ast_variable_browse(cfg, cat); while (var) {