From 9d821548e79eb719e99eb8f45248fb5f7b3449ff Mon Sep 17 00:00:00 2001 From: Damien Stuart Date: Sun, 5 Dec 2010 14:57:01 +0000 Subject: [PATCH] Fixed bug where libfko would segfault if fko_get_spa_data() was called before fko_spa_data_final() was called (and successful). Added include of time.h in fko.h. git-svn-id: file:///home/mbr/svn/fwknop/trunk@306 510a4753-2344-4c79-9c09-4d669213fbeb --- lib/fko.h | 2 ++ lib/fko_funcs.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/lib/fko.h b/lib/fko.h index c90a708c..ecab940e 100644 --- a/lib/fko.h +++ b/lib/fko.h @@ -31,6 +31,8 @@ #ifndef FKO_H #define FKO_H 1 +#include + #ifdef __cplusplus extern "C" { #endif diff --git a/lib/fko_funcs.c b/lib/fko_funcs.c index ffdcc1cd..70ef28f4 100644 --- a/lib/fko_funcs.c +++ b/lib/fko_funcs.c @@ -330,6 +330,11 @@ fko_get_spa_data(fko_ctx_t ctx, char **spa_data) if(!CTX_INITIALIZED(ctx)) return(FKO_ERROR_CTX_NOT_INITIALIZED); + /* We expect to have encrypted data to process. If not, we bail. + */ + if(ctx->encrypted_msg == NULL || (strlen(ctx->encrypted_msg) < 1)) + return(FKO_ERROR_MISSING_ENCODED_DATA); + *spa_data = ctx->encrypted_msg; /* Notice we omit the first 10 bytes if Rijndael encryption is