Browse Source

fix bug what case segment fualt when writing to a readonly value

wuyangtang 9 years ago
parent
commit
8722023fa8
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/server/ua_services_attribute.c

+ 3 - 0
src/server/ua_services_attribute.c

@@ -469,6 +469,9 @@ Service_Write_single_ValueDataSource(UA_Server *server, UA_Session *session, con
     UA_assert(node->nodeClass == UA_NODECLASS_VARIABLE || node->nodeClass == UA_NODECLASS_VARIABLETYPE);
     UA_assert(node->valueSource == UA_VALUESOURCE_DATASOURCE);
 
+    if(node->value.dataSource.write == NULL)
+        return UA_STATUSCODE_BADNOTWRITABLE;
+
     UA_StatusCode retval;
     if(wvalue->indexRange.length <= 0) {
         retval = node->value.dataSource.write(node->value.dataSource.handle, node->nodeId,