The saClmDispatch routine can get into a tight loop if a callback is
undefined (NULL). If callback is NULL, we should simply break out of
the switch statement rather than continue.

Same problem that Christine found in lck service.

Ryan

Index: clm.c
===================================================================
--- clm.c       (revision 2097)
+++ clm.c       (working copy)
@@ -319,7 +319,7 @@
 
                case MESSAGE_RES_CLM_TRACKCALLBACK:
                        if (callbacks.saClmClusterTrackCallback == NULL) {
-                               continue;
+                               break;
                        }
                        res_lib_clm_clustertrack = (struct 
res_lib_clm_clustertrack *)dispatch_data;
                        error = SA_AIS_OK;
@@ -350,7 +350,7 @@
 
                case MESSAGE_RES_CLM_NODEGETCALLBACK:
                        if (callbacks.saClmClusterNodeGetCallback == NULL) {
-                               continue;
+                               break;
                        }
                        res_clm_nodegetcallback = (struct 
res_clm_nodegetcallback *)dispatch_data;
                        marshall_from_mar_clm_cluster_node_t (
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to