diff options
| author | markus <> | 2004-04-07 20:42:07 +0000 |
|---|---|---|
| committer | markus <> | 2004-04-07 20:42:07 +0000 |
| commit | 58c08aa241f168c84ce7cc3052454ea59a44eada (patch) | |
| tree | 1806747a3fda66041a998ca63c763fdcf722450e /src/lib/libcrypto/mem_dbg.c | |
| parent | 9c1aa44a1eacea897c0432e796b205b8484ff4d2 (diff) | |
| download | openbsd-58c08aa241f168c84ce7cc3052454ea59a44eada.tar.gz openbsd-58c08aa241f168c84ce7cc3052454ea59a44eada.tar.bz2 openbsd-58c08aa241f168c84ce7cc3052454ea59a44eada.zip | |
import openssl-0.9.7d
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/mem_dbg.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/lib/libcrypto/mem_dbg.c b/src/lib/libcrypto/mem_dbg.c index 57bd08f65d..e212de27e4 100644 --- a/src/lib/libcrypto/mem_dbg.c +++ b/src/lib/libcrypto/mem_dbg.c | |||
| @@ -597,6 +597,8 @@ static void print_leak(const MEM *m, MEM_LEAK *l) | |||
| 597 | struct tm *lcl = NULL; | 597 | struct tm *lcl = NULL; |
| 598 | unsigned long ti; | 598 | unsigned long ti; |
| 599 | 599 | ||
| 600 | #define BUF_REMAIN (sizeof buf - (size_t)(bufp - buf)) | ||
| 601 | |||
| 600 | if(m->addr == (char *)l->bio) | 602 | if(m->addr == (char *)l->bio) |
| 601 | return; | 603 | return; |
| 602 | 604 | ||
| @@ -604,22 +606,22 @@ static void print_leak(const MEM *m, MEM_LEAK *l) | |||
| 604 | { | 606 | { |
| 605 | lcl = localtime(&m->time); | 607 | lcl = localtime(&m->time); |
| 606 | 608 | ||
| 607 | sprintf(bufp, "[%02d:%02d:%02d] ", | 609 | BIO_snprintf(bufp, BUF_REMAIN, "[%02d:%02d:%02d] ", |
| 608 | lcl->tm_hour,lcl->tm_min,lcl->tm_sec); | 610 | lcl->tm_hour,lcl->tm_min,lcl->tm_sec); |
| 609 | bufp += strlen(bufp); | 611 | bufp += strlen(bufp); |
| 610 | } | 612 | } |
| 611 | 613 | ||
| 612 | sprintf(bufp, "%5lu file=%s, line=%d, ", | 614 | BIO_snprintf(bufp, BUF_REMAIN, "%5lu file=%s, line=%d, ", |
| 613 | m->order,m->file,m->line); | 615 | m->order,m->file,m->line); |
| 614 | bufp += strlen(bufp); | 616 | bufp += strlen(bufp); |
| 615 | 617 | ||
| 616 | if (options & V_CRYPTO_MDEBUG_THREAD) | 618 | if (options & V_CRYPTO_MDEBUG_THREAD) |
| 617 | { | 619 | { |
| 618 | sprintf(bufp, "thread=%lu, ", m->thread); | 620 | BIO_snprintf(bufp, BUF_REMAIN, "thread=%lu, ", m->thread); |
| 619 | bufp += strlen(bufp); | 621 | bufp += strlen(bufp); |
| 620 | } | 622 | } |
| 621 | 623 | ||
| 622 | sprintf(bufp, "number=%d, address=%08lX\n", | 624 | BIO_snprintf(bufp, BUF_REMAIN, "number=%d, address=%08lX\n", |
| 623 | m->num,(unsigned long)m->addr); | 625 | m->num,(unsigned long)m->addr); |
| 624 | bufp += strlen(bufp); | 626 | bufp += strlen(bufp); |
| 625 | 627 | ||
| @@ -641,7 +643,7 @@ static void print_leak(const MEM *m, MEM_LEAK *l) | |||
| 641 | 643 | ||
| 642 | ami_cnt++; | 644 | ami_cnt++; |
| 643 | memset(buf,'>',ami_cnt); | 645 | memset(buf,'>',ami_cnt); |
| 644 | sprintf(buf + ami_cnt, | 646 | BIO_snprintf(buf + ami_cnt, sizeof buf - ami_cnt, |
| 645 | " thread=%lu, file=%s, line=%d, info=\"", | 647 | " thread=%lu, file=%s, line=%d, info=\"", |
| 646 | amip->thread, amip->file, amip->line); | 648 | amip->thread, amip->file, amip->line); |
| 647 | buf_len=strlen(buf); | 649 | buf_len=strlen(buf); |
| @@ -653,10 +655,11 @@ static void print_leak(const MEM *m, MEM_LEAK *l) | |||
| 653 | } | 655 | } |
| 654 | else | 656 | else |
| 655 | { | 657 | { |
| 656 | strcpy(buf + buf_len, amip->info); | 658 | BUF_strlcpy(buf + buf_len, amip->info, |
| 659 | sizeof buf - buf_len); | ||
| 657 | buf_len = strlen(buf); | 660 | buf_len = strlen(buf); |
| 658 | } | 661 | } |
| 659 | sprintf(buf + buf_len, "\"\n"); | 662 | BIO_snprintf(buf + buf_len, sizeof buf - buf_len, "\"\n"); |
| 660 | 663 | ||
| 661 | BIO_puts(l->bio,buf); | 664 | BIO_puts(l->bio,buf); |
| 662 | 665 | ||
