OpenCoverage

v3_bcons.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/x509v3/v3_bcons.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 1999-2016 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/asn1.h>-
13#include <openssl/asn1t.h>-
14#include <openssl/conf.h>-
15#include <openssl/x509v3.h>-
16#include "ext_dat.h"-
17-
18static STACK_OF(CONF_VALUE) *i2v_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,-
19 BASIC_CONSTRAINTS *bcons,-
20 STACK_OF(CONF_VALUE)-
21 *extlist);-
22static BASIC_CONSTRAINTS *v2i_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,-
23 X509V3_CTX *ctx,-
24 STACK_OF(CONF_VALUE) *values);-
25-
26const X509V3_EXT_METHOD v3_bcons = {-
27 NID_basic_constraints, 0,-
28 ASN1_ITEM_ref(BASIC_CONSTRAINTS),-
29 0, 0, 0, 0,-
30 0, 0,-
31 (X509V3_EXT_I2V) i2v_BASIC_CONSTRAINTS,-
32 (X509V3_EXT_V2I)v2i_BASIC_CONSTRAINTS,-
33 NULL, NULL,-
34 NULL-
35};-
36-
37ASN1_SEQUENCE(BASIC_CONSTRAINTS) = {-
38 ASN1_OPT(BASIC_CONSTRAINTS, ca, ASN1_FBOOLEAN),-
39 ASN1_OPT(BASIC_CONSTRAINTS, pathlen, ASN1_INTEGER)-
40} ASN1_SEQUENCE_END(BASIC_CONSTRAINTS)-
41-
42IMPLEMENT_ASN1_FUNCTIONS(BASIC_CONSTRAINTS)
executed 11988 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
never executed: return (BASIC_CONSTRAINTS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(BASIC_CONSTRAINTS_it)));
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(BASIC_CONSTRAINTS_it)));
executed 32 times by 1 test: return (BASIC_CONSTRAINTS *)ASN1_item_new((&(BASIC_CONSTRAINTS_it)));
Executed by:
  • libcrypto.so.1.1
0-11988
43-
44static STACK_OF(CONF_VALUE) *i2v_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,-
45 BASIC_CONSTRAINTS *bcons,-
46 STACK_OF(CONF_VALUE)-
47 *extlist)-
48{-
49 X509V3_add_value_bool("CA", bcons->ca, &extlist);-
50 X509V3_add_value_int("pathlen", bcons->pathlen, &extlist);-
51 return extlist;
executed 765 times by 1 test: return extlist;
Executed by:
  • libcrypto.so.1.1
765
52}-
53-
54static BASIC_CONSTRAINTS *v2i_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,-
55 X509V3_CTX *ctx,-
56 STACK_OF(CONF_VALUE) *values)-
57{-
58 BASIC_CONSTRAINTS *bcons = NULL;-
59 CONF_VALUE *val;-
60 int i;-
61-
62 if ((bcons = BASIC_CONSTRAINTS_new()) == NULL) {
(bcons = BASIC...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-32
63 X509V3err(X509V3_F_V2I_BASIC_CONSTRAINTS, ERR_R_MALLOC_FAILURE);-
64 return NULL;
never executed: return ((void *)0) ;
0
65 }-
66 for (i = 0; i < sk_CONF_VALUE_num(values); i++) {
i < sk_CONF_VALUE_num(values)Description
TRUEevaluated 36 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
32-36
67 val = sk_CONF_VALUE_value(values, i);-
68 if (strcmp(val->name, "CA") == 0) {
never executed: __result = (((const unsigned char *) (const char *) ( val->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "CA" ))[3] - __s2[3]);
executed 32 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
executed 32 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
__extension__ ... )))); }) == 0Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEevaluated 36 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
__result == 0Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
__s2_len > 1Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
__result == 0Description
TRUEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0-36
69 if (!X509V3_get_value_bool(val, &bcons->ca))
!X509V3_get_va...l, &bcons->ca)Description
TRUEnever evaluated
FALSEevaluated 32 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-32
70 goto err;
never executed: goto err;
0
71 } else if (strcmp(val->name, "pathlen") == 0) {
executed 32 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
never executed: __result = (((const unsigned char *) (const char *) ( val->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "pathlen" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0-32
72 if (!X509V3_get_value_int(val, &bcons->pathlen))
!X509V3_get_va...cons->pathlen)Description
TRUEnever evaluated
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-4
73 goto err;
never executed: goto err;
0
74 } else {
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
75 X509V3err(X509V3_F_V2I_BASIC_CONSTRAINTS, X509V3_R_INVALID_NAME);-
76 X509V3_conf_err(val);-
77 goto err;
never executed: goto err;
0
78 }-
79 }-
80 return bcons;
executed 32 times by 1 test: return bcons;
Executed by:
  • libcrypto.so.1.1
32
81 err:-
82 BASIC_CONSTRAINTS_free(bcons);-
83 return NULL;
never executed: return ((void *)0) ;
0
84}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2