diff --git a/lib/hx509/ks_dir.c b/lib/hx509/ks_dir.c index dfce24a41..46e91f255 100644 --- a/lib/hx509/ks_dir.c +++ b/lib/hx509/ks_dir.c @@ -59,6 +59,12 @@ dir_init(hx509_context context, { *data = NULL; + if (residue == NULL || residue[0] == '\0') { + hx509_set_error_string(context, 0, EINVAL, + "DIR file name not specified"); + return EINVAL; + } + { struct stat sb; int ret; diff --git a/lib/hx509/ks_file.c b/lib/hx509/ks_file.c index ee93537f0..18773c4ae 100644 --- a/lib/hx509/ks_file.c +++ b/lib/hx509/ks_file.c @@ -384,6 +384,12 @@ file_init_common(hx509_context context, pem_ctx.flags = flags; pem_ctx.c = NULL; + if (residue == NULL || residue[0] == '\0') { + hx509_set_error_string(context, 0, EINVAL, + "PEM file name not specified"); + return EINVAL; + } + *data = NULL; if (lock == NULL) diff --git a/lib/hx509/ks_p11.c b/lib/hx509/ks_p11.c index 7fe5872a1..cfe62e869 100644 --- a/lib/hx509/ks_p11.c +++ b/lib/hx509/ks_p11.c @@ -820,6 +820,11 @@ p11_init(hx509_context context, *data = NULL; + if (residue == NULL || residue[0] == '\0') { + hx509_set_error_string(context, 0, EINVAL, + "PKCS#11 store not specified"); + return EINVAL; + } list = strdup(residue); if (list == NULL) return ENOMEM; diff --git a/lib/hx509/ks_p12.c b/lib/hx509/ks_p12.c index f7b93a9ec..b4f66cb13 100644 --- a/lib/hx509/ks_p12.c +++ b/lib/hx509/ks_p12.c @@ -338,6 +338,12 @@ p12_init(hx509_context context, *data = NULL; + if (residue == NULL || residue[0] == '\0') { + hx509_set_error_string(context, 0, EINVAL, + "PKCS#12 file not specified"); + return EINVAL; + } + if (lock == NULL) lock = _hx509_empty_lock;