OpenCoverage

err_prn.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/err/err_prn.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.-
3 *-
4 * Licensed under the OpenSSL license (the "License"). You may not use-
5 * this file except in compliance with the License. You can obtain a copy-
6 * in the file LICENSE in the source distribution or at-
7 * https://www.openssl.org/source/license.html-
8 */-
9-
10#include <stdio.h>-
11#include "internal/cryptlib.h"-
12#include <openssl/crypto.h>-
13#include <openssl/buffer.h>-
14#include <openssl/err.h>-
15-
16void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u),-
17 void *u)-
18{-
19 unsigned long l;-
20 char buf[256];-
21 char buf2[4096];-
22 const char *file, *data;-
23 int line, flags;-
24 /*-
25 * We don't know what kind of thing CRYPTO_THREAD_ID is. Here is our best-
26 * attempt to convert it into something we can print.-
27 */-
28 union {-
29 CRYPTO_THREAD_ID tid;-
30 unsigned long ltid;-
31 } tid;-
32-
33 tid.ltid = 0;-
34 tid.tid = CRYPTO_THREAD_get_current_id();-
35-
36 while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)) != 0) {
(l = ERR_get_e... &flags)) != 0Description
TRUEevaluated 3978 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 5917 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
3978-5917
37 ERR_error_string_n(l, buf, sizeof(buf));-
38 BIO_snprintf(buf2, sizeof(buf2), "%lu:%s:%s:%d:%s\n", tid.ltid, buf,-
39 file, line, (flags & ERR_TXT_STRING) ? data : "");-
40 if (cb(buf2, strlen(buf2), u) <= 0)
cb(buf2, strlen(buf2), u) <= 0Description
TRUEnever evaluated
FALSEevaluated 3978 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3978
41 break; /* abort outputting the error report */
never executed: break;
0
42 }
executed 3978 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3978
43}
executed 5917 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
5917
44-
45static int print_bio(const char *str, size_t len, void *bp)-
46{-
47 return BIO_write((BIO *)bp, str, len);
executed 3978 times by 1 test: return BIO_write((BIO *)bp, str, len);
Executed by:
  • libcrypto.so.1.1
3978
48}-
49-
50void ERR_print_errors(BIO *bp)-
51{-
52 ERR_print_errors_cb(print_bio, bp);-
53}
executed 2311 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2311
54-
55#ifndef OPENSSL_NO_STDIO-
56void ERR_print_errors_fp(FILE *fp)-
57{-
58 BIO *bio = BIO_new_fp(fp, BIO_NOCLOSE);-
59 if (bio == NULL)
bio == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3602 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-3602
60 return;
never executed: return;
0
61-
62 ERR_print_errors_cb(print_bio, bio);-
63 BIO_free(bio);-
64}
executed 3602 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3602
65#endif-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2