From 1c068d441d04512ebb180b6c4245841f0b865f76 Mon Sep 17 00:00:00 2001 From: "git@daemon.de" Date: Tue, 4 Mar 2014 23:08:10 +0100 Subject: [PATCH] check for zero sized input --- libpcp/z85.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libpcp/z85.c b/libpcp/z85.c index 2c72849..f250eb4 100644 --- a/libpcp/z85.c +++ b/libpcp/z85.c @@ -183,8 +183,17 @@ size_t pcp_unpadfour(byte *src, size_t srclen) { byte *pcp_z85_decode(char *z85block, size_t *dstlen) { byte *bin = NULL; size_t binlen, outlen; + size_t srclen; + + srclen = strlen(z85block); - binlen = strlen(z85block) * 4 / 5; + if(srclen == 0) { + /* FIXME: check how this happens, pcpstream decoder call */ + *dstlen = 0; + return NULL; + } + + binlen = srclen * 4 / 5; bin = ucmalloc(binlen); if(zmq_z85_decode(bin, z85block) == NULL) {