Преглед на файлове

Fix undefined behavior (null pointers passed to memcpy)

Mark Giraud преди 5 години
родител
ревизия
3f314fa917
променени са 2 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 3 0
      plugins/securityPolicies/ua_securitypolicy_none.c
  2. 2 0
      src/ua_types.c

+ 3 - 0
plugins/securityPolicies/ua_securitypolicy_none.c

@@ -72,6 +72,9 @@ generateNonce_none(const UA_SecurityPolicy *securityPolicy, UA_ByteString *out)
     if(securityPolicy == NULL || out == NULL)
         return UA_STATUSCODE_BADINTERNALERROR;
 
+    if(out->length == 0)
+        return UA_STATUSCODE_GOOD;
+
     /* Fill blocks of four byte */
     size_t i = 0;
     while(i + 3 < out->length) {

+ 2 - 0
src/ua_types.c

@@ -110,6 +110,8 @@ UA_Boolean
 UA_String_equal(const UA_String *s1, const UA_String *s2) {
     if(s1->length != s2->length)
         return false;
+    if(s1->length == 0)
+        return true;
     i32 is = memcmp((char const*)s1->data,
                     (char const*)s2->data, s1->length);
     return (is == 0) ? true : false;