projects
/
oweals
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e7a8b47
)
Fix from stable branch.
author
Dr. Stephen Henson
<steve@openssl.org>
Wed, 15 Feb 2006 15:04:42 +0000
(15:04 +0000)
committer
Dr. Stephen Henson
<steve@openssl.org>
Wed, 15 Feb 2006 15:04:42 +0000
(15:04 +0000)
crypto/objects/obj_dat.c
patch
|
blob
|
history
diff --git
a/crypto/objects/obj_dat.c
b/crypto/objects/obj_dat.c
index 9c61829c77dfefde057dd42eef9cc1b9b60983ab..7a95c7795a936ec648f14dc35d2cb200ffb48c7d 100644
(file)
--- a/
crypto/objects/obj_dat.c
+++ b/
crypto/objects/obj_dat.c
@@
-546,11
+546,19
@@
int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
buf_len--;
}
BUF_strlcpy(buf,bndec,buf_len);
- buf += i;
+ if (i > buf_len)
+ {
+ buf += buf_len;
+ buf_len = 0;
+ }
+ else
+ {
+ buf+=i;
+ buf_len-=i;
+ }
}
n++;
n += i;
- buf_len -= i;
OPENSSL_free(bndec);
}
else
@@
-560,9
+568,17
@@
int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
if (buf && (buf_len > 0))
{
BUF_strlcpy(buf,tbuf,buf_len);
- buf+=i;
+ if (i > buf_len)
+ {
+ buf += buf_len;
+ buf_len = 0;
+ }
+ else
+ {
+ buf+=i;
+ buf_len-=i;
+ }
}
- buf_len-=i;
n+=i;
l=0;
}