diff --git a/lib/idna.c b/lib/idna.c
index 9ab413c..12889cd 100644
--- a/lib/idna.c
+++ b/lib/idna.c
@@ -154,6 +154,8 @@ idna_to_ascii_4i (const uint32_t * in, size_t inlen, char *out, int flags)
     src = stringprep_utf8_to_ucs4 (p, -1, NULL);
 
     free (p);
+	if (!src)
+		return IDNA_MALLOC_ERROR;
   }
 
 step3:
