report error code
diff --git a/lib/picotls.c b/lib/picotls.c
index a3f657d..aa37f47 100644
--- a/lib/picotls.c
+++ b/lib/picotls.c
@@ -1117,8 +1117,10 @@
goto Exit;
/* copy public_name */
- if ((ech->client.public_name = malloc(decoded->public_name.len + 1)) == NULL)
+ if ((ech->client.public_name = malloc(decoded->public_name.len + 1)) == NULL) {
+ ret = PTLS_ERROR_NO_MEMORY;
goto Exit;
+ }
memcpy(ech->client.public_name, decoded->public_name.base, decoded->public_name.len);
ech->client.public_name[decoded->public_name.len] = '\0';