Menuselect: Fix incorrect enabling on failed deps
authorKinsey Moore <kmoore@digium.com>
Fri, 5 Sep 2014 13:29:38 +0000 (13:29 +0000)
committerKinsey Moore <kmoore@digium.com>
Fri, 5 Sep 2014 13:29:38 +0000 (13:29 +0000)
This corrects a situation where menuselect can incorrectly enable a
module by default that has defaultenabled set to "no" and has
failed/non-selected dependencies. The bug is due to an inverted test
when checking for whether the given module should be set to enabled by
default on load.

Review: https://reviewboard.asterisk.org/r/3975/
Reported by: John Bigelow
........

Merged revisions 422646 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422647 65c4cc65-6c06-0410-ace0-fbb531ad65f3

menuselect/menuselect.c

index 6491d69..f4a826b 100644 (file)
@@ -459,7 +459,7 @@ static int process_xml_member_node(xmlNode *node, struct category *cat)
 
        if (!cat->positive_output) {
                mem->enabled = 1;
-               if (!(mem->defaultenabled && strcasecmp(mem->defaultenabled, "no"))) {
+               if (!mem->defaultenabled || strcasecmp(mem->defaultenabled, "no")) {
                        mem->was_enabled = 1;
                        print_debug("Enabled %s because the category does not have positive output\n", mem->name);
                }