diff --git a/src/libopensc/ctx.c b/src/libopensc/ctx.c index 46dcce49..626686a7 100644 --- a/src/libopensc/ctx.c +++ b/src/libopensc/ctx.c @@ -178,11 +178,13 @@ sc_ctx_win32_get_config_value(const char *name_env, if (name_env) { char *value = value = getenv(name_env); - if (strlen(value) < *out_len) - return SC_ERROR_NOT_ENOUGH_MEMORY; - memcpy(out, value, strlen(value)); - *out_len = strlen(value); - return SC_SUCCESS; + if (value) { + if (strlen(value) < *out_len) + return SC_ERROR_NOT_ENOUGH_MEMORY; + memcpy(out, value, strlen(value)); + *out_len = strlen(value); + return SC_SUCCESS; + } } if (!name_reg)