Coverage Report

Created: 2025-04-22 06:18

/src/openssl/crypto/asn1/tasn_scn.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved.
3
 *
4
 * Licensed under the Apache License 2.0 (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 <stddef.h>
11
#include "internal/cryptlib.h"
12
#include <openssl/asn1.h>
13
#include <openssl/asn1t.h>
14
#include <openssl/objects.h>
15
#include <openssl/buffer.h>
16
#include <openssl/err.h>
17
#include <openssl/x509v3.h>
18
#include "asn1_local.h"
19
20
/*
21
 * General ASN1 structure recursive scanner: iterate through all fields
22
 * passing details to a callback.
23
 */
24
25
ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx))
26
0
{
27
0
    ASN1_SCTX *ret = OPENSSL_zalloc(sizeof(*ret));
28
29
0
    if (ret == NULL) {
30
0
        ERR_raise(ERR_LIB_ASN1, ERR_R_MALLOC_FAILURE);
31
0
        return NULL;
32
0
    }
33
0
    ret->scan_cb = scan_cb;
34
0
    return ret;
35
0
}
36
37
void ASN1_SCTX_free(ASN1_SCTX *p)
38
0
{
39
0
    OPENSSL_free(p);
40
0
}
41
42
const ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p)
43
0
{
44
0
    return p->it;
45
0
}
46
47
const ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p)
48
0
{
49
0
    return p->tt;
50
0
}
51
52
unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p)
53
0
{
54
0
    return p->flags;
55
0
}
56
57
void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data)
58
0
{
59
0
    p->app_data = data;
60
0
}
61
62
void *ASN1_SCTX_get_app_data(ASN1_SCTX *p)
63
0
{
64
0
    return p->app_data;
65
0
}