Browse Source

copy response variant instead of merely pointing

Julius Pfrommer 10 years ago
parent
commit
37295bc464
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/ua_services_attribute.c

+ 3 - 2
src/ua_services_attribute.c

@@ -140,8 +140,9 @@ static UA_DataValue service_read_node(Application *app, const UA_ReadValueId *id
 		CHECK_NODECLASS(UA_NODECLASS_VARIABLE);
 		v.encodingMask = UA_DATAVALUE_ENCODINGMASK_VARIANT;
 		// TODO: Ensure that the borrowed value is not freed prematurely (multithreading)
-		retval |= UA_Variant_borrowSetValue(&v.value, &UA_.types[UA_VARIANT],
-		                                    &((UA_VariableNode *)node)->value);
+		/* retval |= UA_Variant_borrowSetValue(&v.value, &UA_.types[UA_VARIANT], */
+		/*                                     &((UA_VariableNode *)node)->value); */
+		retval |= UA_Variant_copy(&((UA_VariableNode *)node)->value, &v.value);
 		break;
 
 	case UA_ATTRIBUTEID_DATATYPE: