]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
CVE-2022-3437 source4/heimdal: Don't pass NULL pointers to memcpy() in DES unwrap
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Wed, 12 Oct 2022 00:57:42 +0000 (13:57 +1300)
committerJule Anger <janger@samba.org>
Mon, 24 Oct 2022 05:27:02 +0000 (07:27 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15134

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/heimdal/lib/gssapi/krb5/unwrap.c

index 7111a7944fe0d55c94fe9a1c06166722b0fe94f8..9639091cb3a63b51829f372ff1a2ea8f3b310843 100644 (file)
@@ -180,9 +180,10 @@ unwrap_des
   output_message_buffer->value  = malloc(output_message_buffer->length);
   if(output_message_buffer->length != 0 && output_message_buffer->value == NULL)
       return GSS_S_FAILURE;
-  memcpy (output_message_buffer->value,
-         p + 24,
-         output_message_buffer->length);
+  if (output_message_buffer->value != NULL)
+      memcpy (output_message_buffer->value,
+             p + 24,
+             output_message_buffer->length);
   return GSS_S_COMPLETE;
 }
 #endif
@@ -374,9 +375,10 @@ unwrap_des3
   output_message_buffer->value  = malloc(output_message_buffer->length);
   if(output_message_buffer->length != 0 && output_message_buffer->value == NULL)
       return GSS_S_FAILURE;
-  memcpy (output_message_buffer->value,
-         p + 36,
-         output_message_buffer->length);
+  if (output_message_buffer->value != NULL)
+      memcpy (output_message_buffer->value,
+             p + 36,
+             output_message_buffer->length);
   return GSS_S_COMPLETE;
 }