diff --git a/lib/fko_encode.c b/lib/fko_encode.c index 2adb42ff..5a28b6ec 100644 --- a/lib/fko_encode.c +++ b/lib/fko_encode.c @@ -41,9 +41,12 @@ static int append_b64(char* tbuf, char *str) { - int len = strlen(str); + int len = strnlen(str, MAX_SPA_ENCODED_MSG_SIZE); char *bs; + if(len >= MAX_SPA_ENCODED_MSG_SIZE) + return(FKO_ERROR_INVALID_DATA); + bs = malloc(((len/3)*4)+8); if(bs == NULL) return(FKO_ERROR_MEMORY_ALLOCATION);