diff options
author | kirke%netscape.com <devnull@localhost> | 2001-03-01 21:45:33 +0000 |
---|---|---|
committer | kirke%netscape.com <devnull@localhost> | 2001-03-01 21:45:33 +0000 |
commit | d1eeb3111f62541f40aa68a1948d4ba03d183591 (patch) | |
tree | 993bdcf84253d1958bfac635f83edbe62684bc61 | |
parent | 5f004b51c9e3a46c81200be2ac52c3a550a1b78b (diff) | |
download | nss-hg-d1eeb3111f62541f40aa68a1948d4ba03d183591.tar.gz |
Bug 69582 endless loop on EOF reading Extensions
-rw-r--r-- | security/nss/cmd/certutil/certutil.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/security/nss/cmd/certutil/certutil.c b/security/nss/cmd/certutil/certutil.c index 79140115d..02350a903 100644 --- a/security/nss/cmd/certutil/certutil.c +++ b/security/nss/cmd/certutil/certutil.c @@ -1349,11 +1349,15 @@ AddKeyUsage (void *extHandle) fprintf(stdout, "%-25s 5 - Cert signning key\n", ""); fprintf(stdout, "%-25s 6 - CRL signning key\n", ""); fprintf(stdout, "%-25s Other to finish\n", ""); - gets (buffer); - value = atoi (buffer); - if (value < 0 || value > 6) + if (gets (buffer)) { + value = atoi (buffer); + if (value < 0 || value > 6) + break; + keyUsage |= (0x80 >> value); + } + else { /* gets() returns NULL on EOF or error */ break; - keyUsage |= (0x80 >> value); + } } bitStringValue.data = &keyUsage; |