summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/objects
diff options
context:
space:
mode:
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/objects')
-rw-r--r--[-rwxr-xr-x]Cryptlib/OpenSSL/crypto/objects/o_names.c0
-rw-r--r--[-rwxr-xr-x]Cryptlib/OpenSSL/crypto/objects/obj_dat.c16
-rw-r--r--[-rwxr-xr-x]Cryptlib/OpenSSL/crypto/objects/obj_err.c0
-rw-r--r--[-rwxr-xr-x]Cryptlib/OpenSSL/crypto/objects/obj_lib.c0
4 files changed, 9 insertions, 7 deletions
diff --git a/Cryptlib/OpenSSL/crypto/objects/o_names.c b/Cryptlib/OpenSSL/crypto/objects/o_names.c
index adb5731f..adb5731f 100755..100644
--- a/Cryptlib/OpenSSL/crypto/objects/o_names.c
+++ b/Cryptlib/OpenSSL/crypto/objects/o_names.c
diff --git a/Cryptlib/OpenSSL/crypto/objects/obj_dat.c b/Cryptlib/OpenSSL/crypto/objects/obj_dat.c
index 760af16d..cf5ba2a1 100755..100644
--- a/Cryptlib/OpenSSL/crypto/objects/obj_dat.c
+++ b/Cryptlib/OpenSSL/crypto/objects/obj_dat.c
@@ -444,11 +444,12 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
unsigned char *p;
char tbuf[DECIMAL_SIZE(i)+DECIMAL_SIZE(l)+2];
- if ((a == NULL) || (a->data == NULL)) {
- buf[0]='\0';
- return(0);
- }
+ /* Ensure that, at every state, |buf| is NUL-terminated. */
+ if (buf && buf_len > 0)
+ buf[0] = '\0';
+ if ((a == NULL) || (a->data == NULL))
+ return(0);
if (!no_name && (nid=OBJ_obj2nid(a)) != NID_undef)
{
@@ -527,9 +528,10 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
i=(int)(l/40);
l-=(long)(i*40);
}
- if (buf && (buf_len > 0))
+ if (buf && (buf_len > 1))
{
*buf++ = i + '0';
+ *buf = '\0';
buf_len--;
}
n++;
@@ -544,9 +546,10 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
i = strlen(bndec);
if (buf)
{
- if (buf_len > 0)
+ if (buf_len > 1)
{
*buf++ = '.';
+ *buf = '\0';
buf_len--;
}
BUF_strlcpy(buf,bndec,buf_len);
@@ -786,4 +789,3 @@ err:
OPENSSL_free(buf);
return(ok);
}
-
diff --git a/Cryptlib/OpenSSL/crypto/objects/obj_err.c b/Cryptlib/OpenSSL/crypto/objects/obj_err.c
index 12b48850..12b48850 100755..100644
--- a/Cryptlib/OpenSSL/crypto/objects/obj_err.c
+++ b/Cryptlib/OpenSSL/crypto/objects/obj_err.c
diff --git a/Cryptlib/OpenSSL/crypto/objects/obj_lib.c b/Cryptlib/OpenSSL/crypto/objects/obj_lib.c
index 706fa0b0..706fa0b0 100755..100644
--- a/Cryptlib/OpenSSL/crypto/objects/obj_lib.c
+++ b/Cryptlib/OpenSSL/crypto/objects/obj_lib.c