[svn-commits] mmichelson: trunk r377844 - in /trunk: ./ res/res_clialiases.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Dec 11 14:53:38 CST 2012


Author: mmichelson
Date: Tue Dec 11 14:53:34 2012
New Revision: 377844

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=377844
Log:
Fix crash that can occur if CLI registration fails for an aliased command.

A recent memory leak fix in main/cli.c causes an ast_cli_entry's command
field to be freed and NULLed if ast_cli_register() fails. res_clialiases
was ignoring the return value of ast_cli_register() and was then passing
the NULL command off to a a hash function. This resulted in a crash.

The fix is not to ignore the erroneous return value. If ast_cli_register()
fails, then we do not continue trying to process the current alias.
........

Merged revisions 377840 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377842 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377843 from http://svn.asterisk.org/svn/asterisk/branches/11

Modified:
    trunk/   (props changed)
    trunk/res/res_clialiases.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Modified: trunk/res/res_clialiases.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_clialiases.c?view=diff&rev=377844&r1=377843&r2=377844
==============================================================================
--- trunk/res/res_clialiases.c (original)
+++ trunk/res/res_clialiases.c Tue Dec 11 14:53:34 2012
@@ -218,7 +218,10 @@
 			alias->cli_entry.command = alias->alias;
 			alias->cli_entry.usage = "Aliased CLI Command\n";
 
-			ast_cli_register(&alias->cli_entry);
+			if (ast_cli_register(&alias->cli_entry)) {
+				ao2_ref(alias, -1);
+				continue;
+			}
 			ao2_link(cli_aliases, alias);
 			ast_verb(2, "Aliased CLI command '%s' to '%s'\n", v1->name, v1->value);
 			ao2_ref(alias, -1);




More information about the svn-commits mailing list