OpenCoverage

xcrypt.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/openbsd-compat/xcrypt.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7static const char *-
8pick_salt(void)-
9{-
10 struct passwd *pw;-
11 char *passwd, *p;-
12 size_t typelen;-
13 static char salt[32];-
14-
15 if (salt[0] != '\0'
salt[0] != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
16 return
never executed: return salt;
salt;
never executed: return salt;
0
17 strlcpy(salt, "xx", sizeof(salt));-
18 setpwent();-
19 while ((
(pw = getpwent...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
pw = getpwent()) !=
(pw = getpwent...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
20 ((void *)0)
(pw = getpwent...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
21 ) {-
22 passwd = shadow_pw(pw);-
23 if (passwd[0] == '$'
passwd[0] == '$'Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(p = strrchr(p...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
p = strrchr(passwd+1, '$')) !=
(p = strrchr(p...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
24 ((void *)0)
(p = strrchr(p...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
25 ) {-
26 typelen = p - passwd + 1;-
27 strlcpy(salt, passwd, -
28 (((-
29 typelen-
30 )<(-
31 sizeof(salt)-
32 ))?(-
33 typelen-
34 ):(-
35 sizeof(salt)-
36 ))-
37 );-
38 explicit_bzero(passwd, strlen(passwd));-
39 goto
never executed: goto out;
out;
never executed: goto out;
0
40 }-
41 }
never executed: end of block
0
42 out:
code before this statement never executed: out:
0
43 endpwent();-
44 return
never executed: return salt;
salt;
never executed: return salt;
0
45}-
46-
47char *-
48xcrypt(const char *password, const char *salt)-
49{-
50 char *crypted;-
51-
52-
53-
54-
55-
56 if (salt ==
salt == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
57 ((void *)0)
salt == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
58 )-
59 salt = pick_salt();
never executed: salt = pick_salt();
0
60 crypted = crypt(password, salt);-
61-
62-
63 return
never executed: return crypted;
crypted;
never executed: return crypted;
0
64}-
65-
66-
67-
68-
69-
70-
71char *-
72shadow_pw(struct passwd *pw)-
73{-
74 char *pw_password = pw->pw_passwd;-
75-
76-
77 struct spwd *spw = getspnam(pw->pw_name);-
78-
79 if (spw !=
spw != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
80 ((void *)0)
spw != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
81 )-
82 pw_password = spw->sp_pwdp;
never executed: pw_password = spw->sp_pwdp;
0
83 return
never executed: return pw_password;
pw_password;
never executed: return pw_password;
0
84}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2