--- openbsd_hw.c.orig	2016-03-02 15:36:57.236927351 -0800
+++ openbsd_hw.c	2016-03-03 18:56:58.169567807 -0800
@@ -364,6 +378,10 @@
         return do_digest(md_data->sess.ses, md_data->md, data, len);
 
     md_data->data = OPENSSL_realloc(md_data->data, md_data->len + len);
+    if (md_data->data == NULL) {
+	err("DEV_CRYPTO_MD5_UPDATE: unable to allocate memory");
+	return 0;
+    }
     memcpy(md_data->data + md_data->len, data, len);
     md_data->len += len;
 
