summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--p11-kit/rpc-message.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/p11-kit/rpc-message.c b/p11-kit/rpc-message.c
index 32f5a45..803063f 100644
--- a/p11-kit/rpc-message.c
+++ b/p11-kit/rpc-message.c
@@ -191,7 +191,9 @@ p11_rpc_message_parse (p11_rpc_message *msg,
msg->sigverify = msg->signature;
/* Verify the incoming signature */
- if (!p11_rpc_buffer_get_byte_array (msg->input, &msg->parsed, &val, &len)) {
+ if (!p11_rpc_buffer_get_byte_array (msg->input, &msg->parsed, &val, &len) ||
+ /* This can happen if the length header == 0xffffffff */
+ val == NULL) {
p11_message ("invalid message: couldn't read signature");
return false;
}