diff options
author | rcritten <> | 2008-01-03 21:35:28 +0000 |
---|---|---|
committer | rcritten <> | 2008-01-03 21:35:28 +0000 |
commit | 7793b9e0748c3fb24db42f3d4d6658561e58349e (patch) | |
tree | 83ba11c53224d35b257b375dc84970502c7b60c5 /nss_engine_vars.c | |
parent | 0c14c8a219244408ac4d4402a55d9c178fcf705c (diff) | |
download | mod_nss-7793b9e0748c3fb24db42f3d4d6658561e58349e.tar.gz mod_nss-7793b9e0748c3fb24db42f3d4d6658561e58349e.tar.xz mod_nss-7793b9e0748c3fb24db42f3d4d6658561e58349e.zip |
Resolves BZ 248722
See if the certificate has a version before trying to decode it into a
CGI variable.
Diffstat (limited to 'nss_engine_vars.c')
-rw-r--r-- | nss_engine_vars.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/nss_engine_vars.c b/nss_engine_vars.c index 1439a8b..b3dcf92 100644 --- a/nss_engine_vars.c +++ b/nss_engine_vars.c @@ -336,8 +336,13 @@ static char *nss_var_lookup_nss_cert(apr_pool_t *p, CERTCertificate *xs, char *v resdup = TRUE; if (strcEQ(var, "M_VERSION")) { - result = apr_psprintf(p, "%lu", DER_GetInteger(&xs->version)+1); - resdup = FALSE; + if (xs->version.data != NULL) { + result = apr_psprintf(p, "%lu", DER_GetInteger(&xs->version)+1); + resdup = FALSE; + } else { + result = apr_pstrdup(p, "UNKNOWN"); + resdup = FALSE; + } } else if (strcEQ(var, "M_SERIAL")) { result = apr_psprintf(p, "%lu", DER_GetInteger(&xs->serialNumber)); |