fix a bug that cause dynamic overflow 07/101007/1
authorgreatim <jaewon81.lim@samsung.com>
Wed, 30 Nov 2016 05:30:22 +0000 (14:30 +0900)
committergreatim <jaewon81.lim@samsung.com>
Wed, 30 Nov 2016 05:30:22 +0000 (14:30 +0900)
fix a bug that cause dynamic overflow

Change-Id: I1cf2159915442a98257e06948bcb193886ccb547
Signed-off-by: greatim <jaewon81.lim@samsung.com>
src/plugin_encrypt.c

index 1c6b34a..e8a96a3 100644 (file)
@@ -29,7 +29,7 @@ int security_init(const int nSessionID, const char* pUserID)
         in.array_of_parameter[0].v_int32 = nSessionID;\r
     } else {\r
         in.number_of_parameter = 2;\r
-        in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) );\r
+        in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) * in.number_of_parameter );\r
         in.array_of_parameter[0].type = type_int32;\r
         in.array_of_parameter[0].v_int32 = nSessionID;\r
         in.array_of_parameter[1].type = type_string;\r
@@ -79,7 +79,7 @@ int security_parse_server_hello(const int nSessionID, apacket* pApacket)
     parameters in, out;\r
 \r
     in.number_of_parameter = 2;\r
-    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) );\r
+    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) * in.number_of_parameter );\r
     in.array_of_parameter[0].type = type_int32;\r
     in.array_of_parameter[0].v_int32 = nSessionID;\r
     in.array_of_parameter[1].type = type_chunk;\r
@@ -132,7 +132,7 @@ int security_parse_server_ack(const int nSessionID, apacket* pApacket)
     parameters in, out;\r
 \r
     in.number_of_parameter = 2;\r
-    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) );\r
+    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) * in.number_of_parameter );\r
     in.array_of_parameter[0].type = type_int32;\r
     in.array_of_parameter[0].v_int32 = nSessionID;\r
     in.array_of_parameter[1].type = type_chunk;\r
@@ -185,7 +185,7 @@ int security_encrypt(const int nSessionID, apacket* pApacket)
     parameters in, out;\r
 \r
     in.number_of_parameter = 2;\r
-    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) );\r
+    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) * in.number_of_parameter );\r
     in.array_of_parameter[0].type = type_int32;\r
     in.array_of_parameter[0].v_int32 = nSessionID;\r
     in.array_of_parameter[1].type = type_chunk;\r
@@ -213,7 +213,7 @@ int security_decrypt(const int nSessionID, apacket* pApacket)
     parameters in, out;\r
 \r
     in.number_of_parameter = 2;\r
-    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) );\r
+    in.array_of_parameter = ( parameter* ) malloc ( sizeof (parameter) * in.number_of_parameter );\r
     in.array_of_parameter[0].type = type_int32;\r
     in.array_of_parameter[0].v_int32 = nSessionID;\r
     in.array_of_parameter[1].type = type_chunk;\r