For SYNC messages check the message size should be less than
MDS_DIRECT_BUF_MAXSIZE.
---
 src/imm/common/immsv_evt.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/imm/common/immsv_evt.c b/src/imm/common/immsv_evt.c
index 54b751682..e7c7c530e 100644
--- a/src/imm/common/immsv_evt.c
+++ b/src/imm/common/immsv_evt.c
@@ -1950,6 +1950,13 @@ static uint32_t immsv_evt_enc_sublevels(IMMSV_EVT 
*i_evt, NCS_UBAID *o_ub)
                        if (syncDepth > 20) {
                                TRACE("syncDepth > 20 :%u", syncDepth);
                        }
+                       int32_t size = o_ub->ttl;
+
+                       if (size > MDS_DIRECT_BUF_MAXSIZE) {
+                               LOG_WA("%u(data size) > %u(payload max-size)",
+                                   size, MDS_DIRECT_BUF_MAXSIZE);
+                               return NCSCC_RC_FAILURE;
+                       }
                } else if ((i_evt->info.immnd.type ==
                            IMMND_EVT_A2ND_ADMO_SET) ||
                           (i_evt->info.immnd.type ==
-- 
2.17.1



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to