summaryrefslogtreecommitdiffstats
path: root/security/nss/cmd/lib/derprint.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/nss/cmd/lib/derprint.c')
-rw-r--r--security/nss/cmd/lib/derprint.c4
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;
}