projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use BUF_strlcpy() instead of strcpy().
[openssl.git]
/
crypto
/
asn1
/
a_time.c
diff --git
a/crypto/asn1/a_time.c
b/crypto/asn1/a_time.c
index 7348da9457b360cee2faeff069520422d73f39e7..159681fbcb060c6f2f95ba4ef0717979d7a2d8ce 100644
(file)
--- a/
crypto/asn1/a_time.c
+++ b/
crypto/asn1/a_time.c
@@
-128,6
+128,7
@@
ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZE
{
ASN1_GENERALIZEDTIME *ret;
char *str;
{
ASN1_GENERALIZEDTIME *ret;
char *str;
+ int newlen;
if (!ASN1_TIME_check(t)) return NULL;
if (!ASN1_TIME_check(t)) return NULL;
@@
-150,12
+151,14
@@
ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZE
/* grow the string */
if (!ASN1_STRING_set(ret, NULL, t->length + 2))
return NULL;
/* grow the string */
if (!ASN1_STRING_set(ret, NULL, t->length + 2))
return NULL;
+ /* ASN1_STRING_set() allocated 'len + 1' bytes. */
+ newlen = t->length + 2 + 1;
str = (char *)ret->data;
/* Work out the century and prepend */
str = (char *)ret->data;
/* Work out the century and prepend */
- if (t->data[0] >= '5')
strcpy(str, "19"
);
- else
strcpy(str, "20"
);
+ if (t->data[0] >= '5')
BUF_strlcpy(str, "19", newlen
);
+ else
BUF_strlcpy(str, "20", newlen
);
- BUF_strlcat(str, (char *)t->data,
t->length+3); /* Include space for a '\0' */
+ BUF_strlcat(str, (char *)t->data,
newlen);
return ret;
}
return ret;
}