diff options
Diffstat (limited to 'security/nss/cmd/lib/derprint.c')
-rw-r--r-- | security/nss/cmd/lib/derprint.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/security/nss/cmd/lib/derprint.c b/security/nss/cmd/lib/derprint.c index 08ef66d08..b86179e30 100644 --- a/security/nss/cmd/lib/derprint.c +++ b/security/nss/cmd/lib/derprint.c @@ -4,6 +4,8 @@ #include "secutil.h" #include "secoid.h" +#include <stdint.h> + #ifdef __sun extern int fprintf(FILE *strm, const char *format, ... /* args */); extern int fflush(FILE *stream); @@ -509,7 +511,7 @@ prettyPrintItem(FILE *out, const unsigned char *data, const unsigned char *end, /* * Just quit now if slen more bytes puts us off the end. */ - if ((data + slen) > end) { + if (data > end || slen > (end - data)) { PORT_SetError(SEC_ERROR_BAD_DER); return -1; } |