osaf/services/saf/amf/amfd/nodegroup.cc |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)


This corrects a problem introduced in changeset 6277. If multiple attributes
are present in a CCB, we could be accessing attrValues[] with invalid indexes.

diff --git a/osaf/services/saf/amf/amfd/nodegroup.cc 
b/osaf/services/saf/amf/amfd/nodegroup.cc
--- a/osaf/services/saf/amf/amfd/nodegroup.cc
+++ b/osaf/services/saf/amf/amfd/nodegroup.cc
@@ -493,7 +493,9 @@
                }
                case SA_IMM_ATTR_VALUES_DELETE: {
                        /* find node to delete */
-                       
ng->saAmfNGNodeList.erase(Amf::to_string((SaNameT*)mod->modAttr.attrValues[j]));
+                       for (j = 0; j < mod->modAttr.attrValuesNumber; j++) {
+                               
ng->saAmfNGNodeList.erase(Amf::to_string((SaNameT*)mod->modAttr.attrValues[j]));
+                       }
 
                        TRACE("number_nodes %u", ng->number_nodes());
                        break;

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to