Преглед изворни кода

Fix undefined behavior in historydatabse (memcpy called with null)

Mark Giraud пре 6 година
родитељ
комит
b0b34ccbf3
1 измењених фајлова са 2 додато и 1 уклоњено
  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;