diff options
Diffstat (limited to 'src/lib/libcrypto/objects/obj_dat.c')
-rw-r--r-- | src/lib/libcrypto/objects/obj_dat.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c index 5d983e3ed4..202bd168ac 100644 --- a/src/lib/libcrypto/objects/obj_dat.c +++ b/src/lib/libcrypto/objects/obj_dat.c | |||
@@ -462,9 +462,9 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) | |||
462 | if (i > 2) i=2; | 462 | if (i > 2) i=2; |
463 | l-=(long)(i*40); | 463 | l-=(long)(i*40); |
464 | 464 | ||
465 | sprintf(tbuf,"%d.%lu",i,l); | 465 | snprintf(tbuf,sizeof tbuf,"%d.%lu",i,l); |
466 | i=strlen(tbuf); | 466 | i=strlen(tbuf); |
467 | BUF_strlcpy(buf,tbuf,buf_len); | 467 | strncpy(buf,tbuf,buf_len); |
468 | buf_len-=i; | 468 | buf_len-=i; |
469 | buf+=i; | 469 | buf+=i; |
470 | n+=i; | 470 | n+=i; |
@@ -473,10 +473,10 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) | |||
473 | for (; idx<len; idx++) { | 473 | for (; idx<len; idx++) { |
474 | l|=p[idx]&0x7f; | 474 | l|=p[idx]&0x7f; |
475 | if (!(p[idx] & 0x80)) { | 475 | if (!(p[idx] & 0x80)) { |
476 | sprintf(tbuf,".%lu",l); | 476 | snprintf(tbuf,sizeof tbuf,".%lu",l); |
477 | i=strlen(tbuf); | 477 | i=strlen(tbuf); |
478 | if (buf_len > 0) | 478 | if (buf_len > 0) |
479 | BUF_strlcpy(buf,tbuf,buf_len); | 479 | strncpy(buf,tbuf,buf_len); |
480 | buf_len-=i; | 480 | buf_len-=i; |
481 | buf+=i; | 481 | buf+=i; |
482 | n+=i; | 482 | n+=i; |
@@ -488,9 +488,10 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) | |||
488 | s=OBJ_nid2ln(nid); | 488 | s=OBJ_nid2ln(nid); |
489 | if (s == NULL) | 489 | if (s == NULL) |
490 | s=OBJ_nid2sn(nid); | 490 | s=OBJ_nid2sn(nid); |
491 | BUF_strlcpy(buf,s,buf_len); | 491 | strncpy(buf,s,buf_len); |
492 | n=strlen(s); | 492 | n=strlen(s); |
493 | } | 493 | } |
494 | buf[buf_len-1]='\0'; | ||
494 | return(n); | 495 | return(n); |
495 | } | 496 | } |
496 | 497 | ||