소스 검색

fix an issue in the write service

Julius Pfrommer 6 년 전
부모
커밋
334e25a86d
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      src/server/ua_services_attribute.c

+ 2 - 1
src/server/ua_services_attribute.c

@@ -783,12 +783,13 @@ writeArrayDimensionsAttribute(UA_Server *server, UA_Session *session,
 
     /* Ok, apply */
     UA_UInt32 *oldArrayDimensions = node->arrayDimensions;
+    size_t oldArrayDimensionsSize = node->arrayDimensionsSize;
     retval = UA_Array_copy(arrayDimensions, arrayDimensionsSize,
                            (void**)&node->arrayDimensions,
                            &UA_TYPES[UA_TYPES_UINT32]);
     if(retval != UA_STATUSCODE_GOOD)
         return retval;
-    UA_free(oldArrayDimensions);
+    UA_Array_delete(oldArrayDimensions, oldArrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]);
     node->arrayDimensionsSize = arrayDimensionsSize;
     return UA_STATUSCODE_GOOD;
 }