Browse Source

Fix undefined behavior in historydatabse (memcpy called with null)

Mark Giraud 6 years ago
parent
commit
b0b34ccbf3
1 changed files with 2 additions and 1 deletions
  1. 2 1
      plugins/historydata/ua_historydatabase_default.c

+ 2 - 1
plugins/historydata/ua_historydatabase_default.c

@@ -283,7 +283,8 @@ getHistoryData_service_default(const UA_HistoryDataBackend* backend,
             return UA_STATUSCODE_BADOUTOFMEMORY;
         }
         *((size_t*)(outContinuationPoint->data)) = skip + *resultSize;
-        memcpy(outContinuationPoint->data + sizeof(size_t), backendOutContinuationPoint.data, backendOutContinuationPoint.length);
+        if(backendOutContinuationPoint.length > 0)
+            memcpy(outContinuationPoint->data + sizeof(size_t), backendOutContinuationPoint.data, backendOutContinuationPoint.length);
     }
     UA_ByteString_deleteMembers(&backendOutContinuationPoint);
     return UA_STATUSCODE_GOOD;