Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/rand/randfile.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | - | |||||||||||||
5 | - | |||||||||||||
6 | - | |||||||||||||
7 | - | |||||||||||||
8 | - | |||||||||||||
9 | - | |||||||||||||
10 | - | |||||||||||||
11 | int | - | ||||||||||||
12 | RAND_load_file(const char *file, long bytes) | - | ||||||||||||
13 | { | - | ||||||||||||
14 | - | |||||||||||||
15 | if (bytes == -1
| 0 | ||||||||||||
16 | return never executed: 123456;return 123456; never executed: return 123456; | 0 | ||||||||||||
17 | else | - | ||||||||||||
18 | return never executed: bytes;return bytes; never executed: return bytes; | 0 | ||||||||||||
19 | } | - | ||||||||||||
20 | - | |||||||||||||
21 | int | - | ||||||||||||
22 | RAND_write_file(const char *file) | - | ||||||||||||
23 | { | - | ||||||||||||
24 | unsigned char buf[1024]; | - | ||||||||||||
25 | int i, ret = 0; | - | ||||||||||||
26 | FILE *out = | - | ||||||||||||
27 | ((void *)0) | - | ||||||||||||
28 | ; | - | ||||||||||||
29 | int n, fd; | - | ||||||||||||
30 | struct stat sb; | - | ||||||||||||
31 | - | |||||||||||||
32 | - | |||||||||||||
33 | - | |||||||||||||
34 | - | |||||||||||||
35 | - | |||||||||||||
36 | if (stat(file, &sb) != -1
| 0 | ||||||||||||
37 | ( | - | ||||||||||||
38 | ((((
| 0 | ||||||||||||
39 | sb.st_mode
| 0 | ||||||||||||
40 | )) & 0170000) == (0060000))
| 0 | ||||||||||||
41 | || | - | ||||||||||||
42 | ((((
| 0 | ||||||||||||
43 | sb.st_mode
| 0 | ||||||||||||
44 | )) & 0170000) == (0020000))
| 0 | ||||||||||||
45 | )) { | - | ||||||||||||
46 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||
47 | } | - | ||||||||||||
48 | - | |||||||||||||
49 | fd = open(file, | - | ||||||||||||
50 | 01 | - | ||||||||||||
51 | | | - | ||||||||||||
52 | 0100 | - | ||||||||||||
53 | , 0600); | - | ||||||||||||
54 | if (fd == -1
| 0 | ||||||||||||
55 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||
56 | out = fdopen(fd, "wb"); | - | ||||||||||||
57 | - | |||||||||||||
58 | if (out ==
| 0 | ||||||||||||
59 | ((void *)0)
| 0 | ||||||||||||
60 | ) { | - | ||||||||||||
61 | close(fd); | - | ||||||||||||
62 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||
63 | } | - | ||||||||||||
64 | - | |||||||||||||
65 | n = 1024; | - | ||||||||||||
66 | for (;;) { | - | ||||||||||||
67 | i = (
| 0 | ||||||||||||
68 | n -= 1024; | - | ||||||||||||
69 | arc4random_buf(buf, i); | - | ||||||||||||
70 | i = fwrite(buf, 1, i, out); | - | ||||||||||||
71 | if (i <= 0
| 0 | ||||||||||||
72 | ret = 0; | - | ||||||||||||
73 | break; never executed: break; | 0 | ||||||||||||
74 | } | - | ||||||||||||
75 | ret += i; | - | ||||||||||||
76 | if (n <= 0
| 0 | ||||||||||||
77 | break; never executed: break; | 0 | ||||||||||||
78 | } never executed: end of block | 0 | ||||||||||||
79 | - | |||||||||||||
80 | fclose(out); | - | ||||||||||||
81 | explicit_bzero(buf, 1024); | - | ||||||||||||
82 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||
83 | } | - | ||||||||||||
84 | - | |||||||||||||
85 | const char * | - | ||||||||||||
86 | RAND_file_name(char * buf, size_t size) | - | ||||||||||||
87 | { | - | ||||||||||||
88 | if (strlcpy(buf, "/dev/urandom", size) >= size
| 0 | ||||||||||||
89 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||
90 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||
91 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||
92 | return never executed: buf;return buf; never executed: return buf; | 0 | ||||||||||||
93 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |