OpenCoverage

randfile.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/rand/randfile.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15int RAND_load_file(const char *file, long bytes)-
16{-
17 unsigned char buf[1024];-
18-
19 struct stat sb;-
20-
21 int i, n, ret = 0;-
22 FILE *in;-
23-
24 if (bytes == 0
bytes == 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
25 return
never executed: return 0;
0;
never executed: return 0;
0
26-
27 if ((
(in = openssl_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
in = openssl_fopen(file, "rb")) ==
(in = openssl_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
28 ((void *)0)
(in = openssl_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
29 ) {-
30 ERR_put_error(36,(111),(121),__FILE__,88);-
31 ERR_add_error_data(2, "Filename=", file);-
32 return
never executed: return -1;
-1;
never executed: return -1;
0
33 }-
34-
35-
36 if (fstat(fileno(in), &sb) < 0
fstat(fileno(in), &sb) < 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-12
37 ERR_put_error(36,(111),(113),__FILE__,95);-
38 ERR_add_error_data(2, "Filename=", file);-
39 fclose(in);-
40 return
never executed: return -1;
-1;
never executed: return -1;
0
41 }-
42-
43 if (!
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
44 ((((
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
45 sb.st_mode
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
46 )) & 0170000) == (0100000))
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
47 && bytes < 0
bytes < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
48 bytes = 256;
never executed: bytes = 256;
0
49 setbuf(in, -
50 ((void *)0)-
51 );-
52-
53-
54-
55-
56 for ( ; ; ) {-
57 if (bytes > 0
bytes > 0Description
TRUEnever evaluated
FALSEevaluated 30 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-30
58 n = (
(bytes < 1024)Description
TRUEnever evaluated
FALSEnever evaluated
bytes < 1024)
(bytes < 1024)Description
TRUEnever evaluated
FALSEnever evaluated
? (int)bytes : 1024;
never executed: n = (bytes < 1024) ? (int)bytes : 1024;
0
59 else-
60 n = 1024;
executed 30 times by 1 test: n = 1024;
Executed by:
  • libcrypto.so.1.1
30
61 i = fread(buf, 1, n, in);-
62-
63 if (ferror(in)
ferror(in)Description
TRUEnever evaluated
FALSEevaluated 30 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&&
0-30
64 (*
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
65 ==
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
66 4
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
67 ){-
68 clearerr(in);-
69 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
70 continue;
never executed: continue;
0
71 }
never executed: end of block
0
72-
73 if (i == 0
i == 0Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 18 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
12-18
74 break;
executed 12 times by 1 test: break;
Executed by:
  • libcrypto.so.1.1
12
75-
76 RAND_add(buf, i, (double)i);-
77 ret += i;-
78-
79-
80 if (bytes > 0
bytes > 0Description
TRUEnever evaluated
FALSEevaluated 18 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
&& (
(bytes -= i) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
bytes -= i) <= 0
(bytes -= i) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0-18
81 break;
never executed: break;
0
82 }
executed 18 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
18
83-
84 OPENSSL_cleanse(buf, sizeof(buf));-
85 fclose(in);-
86 return
executed 12 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 12 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
12
87}-
88-
89int RAND_write_file(const char *file)-
90{-
91 unsigned char buf[1024];-
92 int ret = -1;-
93 FILE *out = -
94 ((void *)0)-
95 ;-
96-
97 struct stat sb;-
98-
99 if (stat(file, &sb) >= 0
stat(file, &sb) >= 0Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
&& !
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
100 ((((
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
101 sb.st_mode
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
102 )) & 0170000) == (0100000))
! (((( sb.st_m... == (0100000))Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
103 ) {-
104 ERR_put_error(36,(112),(122),__FILE__,163);-
105 ERR_add_error_data(2, "Filename=", file);-
106 return
never executed: return -1;
-1;
never executed: return -1;
0
107 }-
108-
109-
110-
111 if (RAND_priv_bytes(buf, (int)sizeof(buf)) != 1
RAND_priv_byte...eof(buf)) != 1Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-12
112 return
never executed: return -1;
-1;
never executed: return -1;
0
113-
114-
115-
116 {-
117-
118-
119-
120-
121-
122-
123-
124 int fd = open(file, -
125 01 -
126 | -
127 0100 -
128 | 0, 0600);-
129 if (fd != -1
fd != -1Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-12
130 out = fdopen(fd, "wb");
executed 12 times by 1 test: out = fdopen(fd, "wb");
Executed by:
  • libcrypto.so.1.1
12
131 }-
132 if (out ==
out == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
133 ((void *)0)
out == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
134 )-
135 out = openssl_fopen(file, "wb");
never executed: out = openssl_fopen(file, "wb");
0
136 if (out ==
out == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
137 ((void *)0)
out == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
138 ) {-
139 ERR_put_error(36,(112),(121),__FILE__,213);-
140 ERR_add_error_data(2, "Filename=", file);-
141 return
never executed: return -1;
-1;
never executed: return -1;
0
142 }-
143-
144-
145-
146-
147-
148 chmod(file, 0600);-
149-
150-
151 ret = fwrite(buf, 1, 1024, out);-
152 fclose(out);-
153 OPENSSL_cleanse(buf, 1024);-
154 return
executed 12 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 12 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
12
155}-
156-
157const char *RAND_file_name(char *buf, size_t size)-
158{-
159 char *s = -
160 ((void *)0)-
161 ;-
162 size_t len;-
163 int use_randfile = 1;-
164 if (OPENSSL_issetugid() != 0
OPENSSL_issetugid() != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
165 use_randfile = 0;-
166 }
never executed: end of block
else if ((
(s = getenv("R...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
s = getenv("RANDFILE")) ==
(s = getenv("R...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
167 ((void *)0)
(s = getenv("R...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
168 || *
*s == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
s == '\0'
*s == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
169 use_randfile = 0;-
170 s = getenv("HOME");-
171 }
never executed: end of block
0
172-
173-
174-
175-
176-
177-
178 if (s ==
s == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
179 ((void *)0)
s == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
180 || *
*s == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
s == '\0'
*s == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
181 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
182 ((void *)0)
never executed: return ((void *)0) ;
0
183 ;
never executed: return ((void *)0) ;
0
184-
185 len = strlen(s);-
186 if (use_randfile
use_randfileDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
187 if (len + 1 >= size
len + 1 >= sizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
188 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
189 ((void *)0)
never executed: return ((void *)0) ;
0
190 ;
never executed: return ((void *)0) ;
0
191 strcpy(buf, s);-
192 }
never executed: end of block
else {
0
193 if (len + 1 + strlen(".rnd") + 1 >= size
len + 1 + strl...") + 1 >= sizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
194 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
195 ((void *)0)
never executed: return ((void *)0) ;
0
196 ;
never executed: return ((void *)0) ;
0
197 strcpy(buf, s);-
198-
199 strcat(buf, "/");-
200-
201 strcat(buf, ".rnd");-
202 }
never executed: end of block
0
203-
204 return
never executed: return buf;
buf;
never executed: return buf;
0
205}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2