@@ -42,8 +42,6 @@ int wh_Server_HandleCounter(whServerContext* server, uint16_t magic,
4242 const void * req_packet , uint16_t * out_resp_size ,
4343 void * resp_packet )
4444{
45- (void )req_size ;
46-
4745 whKeyId counterId = 0 ;
4846 int ret = 0 ;
4947 whNvmMetadata meta [1 ] = {{0 }};
@@ -59,6 +57,14 @@ int wh_Server_HandleCounter(whServerContext* server, uint16_t magic,
5957 whMessageCounter_InitRequest req = {0 };
6058 whMessageCounter_InitResponse resp = {0 };
6159
60+ if (req_size < sizeof (whMessageCounter_InitRequest )) {
61+ resp .rc = WH_ERROR_BADARGS ;
62+ (void )wh_MessageCounter_TranslateInitResponse (
63+ magic , & resp , (whMessageCounter_InitResponse * )resp_packet );
64+ * out_resp_size = sizeof (resp );
65+ return WH_ERROR_OK ;
66+ }
67+
6268 /* translate request */
6369 (void )wh_MessageCounter_TranslateInitRequest (
6470 magic , (whMessageCounter_InitRequest * )req_packet , & req );
@@ -87,6 +93,15 @@ int wh_Server_HandleCounter(whServerContext* server, uint16_t magic,
8793 whMessageCounter_IncrementRequest req = {0 };
8894 whMessageCounter_IncrementResponse resp = {0 };
8995
96+ if (req_size < sizeof (whMessageCounter_IncrementRequest )) {
97+ resp .rc = WH_ERROR_BADARGS ;
98+ (void )wh_MessageCounter_TranslateIncrementResponse (
99+ magic , & resp ,
100+ (whMessageCounter_IncrementResponse * )resp_packet );
101+ * out_resp_size = sizeof (resp );
102+ return WH_ERROR_OK ;
103+ }
104+
90105 /* translate request */
91106 (void )wh_MessageCounter_TranslateIncrementRequest (
92107 magic , (whMessageCounter_IncrementRequest * )req_packet , & req );
@@ -133,6 +148,14 @@ int wh_Server_HandleCounter(whServerContext* server, uint16_t magic,
133148 whMessageCounter_ReadRequest req = {0 };
134149 whMessageCounter_ReadResponse resp = {0 };
135150
151+ if (req_size < sizeof (whMessageCounter_ReadRequest )) {
152+ resp .rc = WH_ERROR_BADARGS ;
153+ (void )wh_MessageCounter_TranslateReadResponse (
154+ magic , & resp , (whMessageCounter_ReadResponse * )resp_packet );
155+ * out_resp_size = sizeof (resp );
156+ return WH_ERROR_OK ;
157+ }
158+
136159 /* translate request */
137160 (void )wh_MessageCounter_TranslateReadRequest (
138161 magic , (whMessageCounter_ReadRequest * )req_packet , & req );
@@ -164,6 +187,15 @@ int wh_Server_HandleCounter(whServerContext* server, uint16_t magic,
164187 whMessageCounter_DestroyRequest req = {0 };
165188 whMessageCounter_DestroyResponse resp = {0 };
166189
190+ if (req_size < sizeof (whMessageCounter_DestroyRequest )) {
191+ resp .rc = WH_ERROR_BADARGS ;
192+ (void )wh_MessageCounter_TranslateDestroyResponse (
193+ magic , & resp ,
194+ (whMessageCounter_DestroyResponse * )resp_packet );
195+ * out_resp_size = sizeof (resp );
196+ return WH_ERROR_OK ;
197+ }
198+
167199 /* translate request */
168200 (void )wh_MessageCounter_TranslateDestroyRequest (
169201 magic , (whMessageCounter_DestroyRequest * )req_packet , & req );
0 commit comments