OpenCoverage

p12_utl.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/pkcs12/p12_utl.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4unsigned char *OPENSSL_asc2uni(const char *asc, int asclen,-
5 unsigned char **uni, int *unilen)-
6{-
7 int ulen, i;-
8 unsigned char *unitmp;-
9-
10 if (asclen == -1
asclen == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
11 asclen = strlen(asc);
never executed: asclen = strlen(asc);
0
12 ulen = asclen * 2 + 2;-
13 if ((
(unitmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
unitmp = CRYPTO_malloc(ulen, __FILE__, 25)) ==
(unitmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
14 ((void *)0)
(unitmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
15 ) {-
16 ERR_put_error(35,(121),((1|64)),__FILE__,26);-
17 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
18 ((void *)0)
never executed: return ((void *)0) ;
0
19 ;
never executed: return ((void *)0) ;
0
20 }-
21 for (i = 0; i < ulen - 2
i < ulen - 2Description
TRUEnever evaluated
FALSEnever evaluated
; i += 2) {
0
22 unitmp[i] = 0;-
23 unitmp[i + 1] = asc[i >> 1];-
24 }
never executed: end of block
0
25-
26 unitmp[ulen - 2] = 0;-
27 unitmp[ulen - 1] = 0;-
28 if (unilen
unilenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
29 *
never executed: *unilen = ulen;
unilen = ulen;
never executed: *unilen = ulen;
0
30 if (uni
uniDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
31 *
never executed: *uni = unitmp;
uni = unitmp;
never executed: *uni = unitmp;
0
32 return
never executed: return unitmp;
unitmp;
never executed: return unitmp;
0
33}-
34-
35char *OPENSSL_uni2asc(const unsigned char *uni, int unilen)-
36{-
37 int asclen, i;-
38 char *asctmp;-
39-
40 if (unilen & 1
unilen & 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
41 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
42 ((void *)0)
never executed: return ((void *)0) ;
0
43 ;
never executed: return ((void *)0) ;
0
44 asclen = unilen / 2;-
45-
46 if (!unilen
!unilenDescription
TRUEnever evaluated
FALSEnever evaluated
|| uni[unilen - 1]
uni[unilen - 1]Description
TRUEnever evaluated
FALSEnever evaluated
)
0
47 asclen++;
never executed: asclen++;
0
48 uni++;-
49 if ((
(asctmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
asctmp = CRYPTO_malloc(asclen, __FILE__, 55)) ==
(asctmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
50 ((void *)0)
(asctmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
51 ) {-
52 ERR_put_error(35,(124),((1|64)),__FILE__,56);-
53 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
54 ((void *)0)
never executed: return ((void *)0) ;
0
55 ;
never executed: return ((void *)0) ;
0
56 }-
57 for (i = 0; i < unilen
i < unilenDescription
TRUEnever evaluated
FALSEnever evaluated
; i += 2)
0
58 asctmp[i >> 1] = uni[i];
never executed: asctmp[i >> 1] = uni[i];
0
59 asctmp[asclen - 1] = 0;-
60 return
never executed: return asctmp;
asctmp;
never executed: return asctmp;
0
61}-
62unsigned char *OPENSSL_utf82uni(const char *asc, int asclen,-
63 unsigned char **uni, int *unilen)-
64{-
65 int ulen, i, j;-
66 unsigned char *unitmp, *ret;-
67 unsigned long utf32chr = 0;-
68-
69 if (asclen == -1
asclen == -1Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-1
70 asclen = strlen(asc);
executed 1 time by 1 test: asclen = strlen(asc);
Executed by:
  • libcrypto.so.1.1
1
71-
72 for (ulen = 0, i = 0; i < asclen
i < asclenDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i += j) {
1-16
73 j = UTF8_getc((const unsigned char *)asc+i, asclen-i, &utf32chr);-
74 if (j < 0
j < 0Description
TRUEnever evaluated
FALSEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-16
75 return
never executed: return OPENSSL_asc2uni(asc, asclen, uni, unilen);
OPENSSL_asc2uni(asc, asclen, uni, unilen);
never executed: return OPENSSL_asc2uni(asc, asclen, uni, unilen);
0
76-
77 if (utf32chr > 0x10FFFF
utf32chr > 0x10FFFFDescription
TRUEnever evaluated
FALSEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-16
78 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
79 ((void *)0)
never executed: return ((void *)0) ;
0
80 ;
never executed: return ((void *)0) ;
0
81-
82 if (utf32chr >= 0x10000
utf32chr >= 0x10000Description
TRUEnever evaluated
FALSEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-16
83 ulen += 2*2;
never executed: ulen += 2*2;
0
84 else-
85 ulen += 2;
executed 16 times by 1 test: ulen += 2;
Executed by:
  • libcrypto.so.1.1
16
86 }-
87-
88 ulen += 2;-
89-
90 if ((
(ret = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
ret = CRYPTO_malloc(ulen, __FILE__, 117)) ==
(ret = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
91 ((void *)0)
(ret = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1
92 ) {-
93 ERR_put_error(35,(129),((1|64)),__FILE__,118);-
94 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
95 ((void *)0)
never executed: return ((void *)0) ;
0
96 ;
never executed: return ((void *)0) ;
0
97 }-
98-
99 for (unitmp = ret, i = 0; i < asclen
i < asclenDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i += j) {
1-16
100 j = UTF8_getc((const unsigned char *)asc+i, asclen-i, &utf32chr);-
101 if (utf32chr >= 0x10000
utf32chr >= 0x10000Description
TRUEnever evaluated
FALSEevaluated 16 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-16
102 unsigned int hi, lo;-
103-
104 utf32chr -= 0x10000;-
105 hi = 0xD800 + (utf32chr>>10);-
106 lo = 0xDC00 + (utf32chr&0x3ff);-
107 *unitmp++ = (unsigned char)(hi>>8);-
108 *unitmp++ = (unsigned char)(hi);-
109 *unitmp++ = (unsigned char)(lo>>8);-
110 *unitmp++ = (unsigned char)(lo);-
111 }
never executed: end of block
else {
0
112 *unitmp++ = (unsigned char)(utf32chr>>8);-
113 *unitmp++ = (unsigned char)(utf32chr);-
114 }
executed 16 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
16
115 }-
116-
117 *unitmp++ = 0;-
118 *unitmp++ = 0;-
119 if (unilen
unilenDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-1
120 *
executed 1 time by 1 test: *unilen = ulen;
Executed by:
  • libcrypto.so.1.1
unilen = ulen;
executed 1 time by 1 test: *unilen = ulen;
Executed by:
  • libcrypto.so.1.1
1
121 if (uni
uniDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-1
122 *
executed 1 time by 1 test: *uni = ret;
Executed by:
  • libcrypto.so.1.1
uni = ret;
executed 1 time by 1 test: *uni = ret;
Executed by:
  • libcrypto.so.1.1
1
123 return
executed 1 time by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 1 time by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
1
124}-
125-
126static int bmp_to_utf8(char *str, const unsigned char *utf16, int len)-
127{-
128 unsigned long utf32chr;-
129-
130 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEnever evaluated
) return
never executed: return 0;
0;
never executed: return 0;
0
131-
132 if (len < 2
len < 2Description
TRUEnever evaluated
FALSEnever evaluated
) return
never executed: return -1;
-1;
never executed: return -1;
0
133-
134-
135 utf32chr = (utf16[0]<<8) | utf16[1];-
136-
137 if (utf32chr >= 0xD800
utf32chr >= 0xD800Description
TRUEnever evaluated
FALSEnever evaluated
&& utf32chr < 0xE000
utf32chr < 0xE000Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
138 unsigned int lo;-
139-
140 if (len < 4
len < 4Description
TRUEnever evaluated
FALSEnever evaluated
) return
never executed: return -1;
-1;
never executed: return -1;
0
141-
142 utf32chr -= 0xD800;-
143 utf32chr <<= 10;-
144 lo = (utf16[2]<<8) | utf16[3];-
145 if (lo < 0xDC00
lo < 0xDC00Description
TRUEnever evaluated
FALSEnever evaluated
|| lo >= 0xE000
lo >= 0xE000Description
TRUEnever evaluated
FALSEnever evaluated
) return
never executed: return -1;
-1;
never executed: return -1;
0
146 utf32chr |= lo-0xDC00;-
147 utf32chr += 0x10000;-
148 }
never executed: end of block
0
149-
150 return
never executed: return UTF8_putc((unsigned char *)str, len > 4 ? 4 : len, utf32chr);
UTF8_putc((unsigned char *)str, len > 4 ? 4 : len, utf32chr);
never executed: return UTF8_putc((unsigned char *)str, len > 4 ? 4 : len, utf32chr);
0
151}-
152-
153char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen)-
154{-
155 int asclen, i, j;-
156 char *asctmp;-
157-
158-
159 if (unilen & 1
unilen & 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
160 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
161 ((void *)0)
never executed: return ((void *)0) ;
0
162 ;
never executed: return ((void *)0) ;
0
163-
164 for (asclen = 0, i = 0; i < unilen
i < unilenDescription
TRUEnever evaluated
FALSEnever evaluated
; ) {
0
165 j = bmp_to_utf8(-
166 ((void *)0)-
167 , uni+i, unilen-i);-
168-
169-
170-
171-
172-
173 if (j < 0
j < 0Description
TRUEnever evaluated
FALSEnever evaluated
) return
never executed: return OPENSSL_uni2asc(uni, unilen);
OPENSSL_uni2asc(uni, unilen);
never executed: return OPENSSL_uni2asc(uni, unilen);
0
174 if (j == 4
j == 4Description
TRUEnever evaluated
FALSEnever evaluated
) i += 4;
never executed: i += 4;
0
175 else i += 2;
never executed: i += 2;
0
176 asclen += j;-
177 }
never executed: end of block
0
178-
179-
180 if (!unilen
!unilenDescription
TRUEnever evaluated
FALSEnever evaluated
|| (uni[unilen-2]
uni[unilen-2]Description
TRUEnever evaluated
FALSEnever evaluated
||uni[unilen - 1]
uni[unilen - 1]Description
TRUEnever evaluated
FALSEnever evaluated
))
0
181 asclen++;
never executed: asclen++;
0
182-
183 if ((
(asctmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
asctmp = CRYPTO_malloc(asclen, __FILE__, 202)) ==
(asctmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
184 ((void *)0)
(asctmp = CRYP...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
185 ) {-
186 ERR_put_error(35,(127),((1|64)),__FILE__,203);-
187 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
188 ((void *)0)
never executed: return ((void *)0) ;
0
189 ;
never executed: return ((void *)0) ;
0
190 }-
191-
192-
193 for (asclen = 0, i = 0; i < unilen
i < unilenDescription
TRUEnever evaluated
FALSEnever evaluated
; ) {
0
194 j = bmp_to_utf8(asctmp+asclen, uni+i, unilen-i);-
195 if (j == 4
j == 4Description
TRUEnever evaluated
FALSEnever evaluated
) i += 4;
never executed: i += 4;
0
196 else i += 2;
never executed: i += 2;
0
197 asclen += j;-
198 }
never executed: end of block
0
199-
200-
201 if (!unilen
!unilenDescription
TRUEnever evaluated
FALSEnever evaluated
|| (uni[unilen-2]
uni[unilen-2]Description
TRUEnever evaluated
FALSEnever evaluated
||uni[unilen - 1]
uni[unilen - 1]Description
TRUEnever evaluated
FALSEnever evaluated
))
0
202 asctmp[asclen] = '\0';
never executed: asctmp[asclen] = '\0';
0
203-
204 return
never executed: return asctmp;
asctmp;
never executed: return asctmp;
0
205}-
206-
207int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12)-
208{-
209 return
never executed: return ASN1_item_i2d_bio((&(PKCS12_it)), bp, p12);
ASN1_item_i2d_bio((&(PKCS12_it)), bp, p12);
never executed: return ASN1_item_i2d_bio((&(PKCS12_it)), bp, p12);
0
210}-
211-
212-
213int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12)-
214{-
215 return
never executed: return ASN1_item_i2d_fp((&(PKCS12_it)), fp, p12);
ASN1_item_i2d_fp((&(PKCS12_it)), fp, p12);
never executed: return ASN1_item_i2d_fp((&(PKCS12_it)), fp, p12);
0
216}-
217-
218-
219PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12)-
220{-
221 return
executed 1 time by 1 test: return ASN1_item_d2i_bio((&(PKCS12_it)), bp, p12);
Executed by:
  • libcrypto.so.1.1
ASN1_item_d2i_bio((&(PKCS12_it)), bp, p12);
executed 1 time by 1 test: return ASN1_item_d2i_bio((&(PKCS12_it)), bp, p12);
Executed by:
  • libcrypto.so.1.1
1
222}-
223-
224-
225PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12)-
226{-
227 return
never executed: return ASN1_item_d2i_fp((&(PKCS12_it)), fp, p12);
ASN1_item_d2i_fp((&(PKCS12_it)), fp, p12);
never executed: return ASN1_item_d2i_fp((&(PKCS12_it)), fp, p12);
0
228}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2