Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | int | - |
5 | getugroups (int maxcount, gid_t *grouplist, char const *username, | - |
6 | gid_t gid) | - |
7 | { | - |
8 | int count = 0; | - |
9 | | - |
10 | if (gid != (gid_t) -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
11 | { | - |
12 | if (maxcount != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
13 | grouplist[count] = gid; never executed: grouplist[count] = gid; | 0 |
14 | ++count; | - |
15 | } never executed: end of block | 0 |
16 | | - |
17 | setgrent (); | - |
18 | while (1) | - |
19 | { | - |
20 | char **cp; | - |
21 | struct group *grp; | - |
22 | | - |
23 | | - |
24 | (*__errno_location ()) | - |
25 | = 0; | - |
26 | grp = getgrent (); | - |
27 | if (grp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
28 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
29 | ) | - |
30 | break; never executed: break; | 0 |
31 | | - |
32 | for (cp = grp->gr_mem; *TRUE | never evaluated | FALSE | never evaluated |
cpTRUE | never evaluated | FALSE | never evaluated |
; ++cp) | 0 |
33 | { | - |
34 | int n; | - |
35 | | - |
36 | if ( ! (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
37 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
38 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
39 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
40 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
41 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
42 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
43 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
44 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
45 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
46 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
47 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
48 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
49 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
50 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
51 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
52 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
53 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
54 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
55 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
56 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
57 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
58 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
59 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
60 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
61 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
62 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
63 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
64 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
65 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
66 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
67 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
68 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
69 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
70 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
71 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
72 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
73 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
74 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
75 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
76 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
77 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
78 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
79 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
80 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
81 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
82 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
83 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( username ))[3] - __s2[3]); | 0 |
84 | usernameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( username ))[3] - __s2[3]); | 0 |
85 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
86 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
87 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
88 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
89 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
90 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
91 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
92 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
93 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
94 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
95 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
96 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
97 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
98 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
99 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
100 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
101 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
102 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
103 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
104 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
105 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
106 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
107 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
108 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
109 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
110 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
111 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( *cp ))[3] - __s2[3]); | 0 |
112 | *cpTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( *cp ))[3] - __s2[3]); | 0 |
113 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
114 | usernameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
115 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
116 | *cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
117 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
118 | == 0)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
119 | continue; never executed: continue; | 0 |
120 | | - |
121 | | - |
122 | for (n = 0; n < countTRUE | never evaluated | FALSE | never evaluated |
; ++n) | 0 |
123 | if (grouplistTRUE | never evaluated | FALSE | never evaluated |
&& grouplist[n] == grp->gr_gidTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
124 | break; never executed: break; | 0 |
125 | | - |
126 | | - |
127 | if (n == countTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
128 | { | - |
129 | if (maxcount != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
130 | { | - |
131 | if (count >= maxcountTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
132 | goto never executed: goto done; done;never executed: goto done; | 0 |
133 | grouplist[count] = grp->gr_gid; | - |
134 | } never executed: end of block | 0 |
135 | if (count == 0x7fffffffTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
136 | { | - |
137 | | - |
138 | (*__errno_location ()) | - |
139 | = | - |
140 | 75 | - |
141 | ; | - |
142 | goto never executed: goto done; done;never executed: goto done; | 0 |
143 | } | - |
144 | count++; | - |
145 | } never executed: end of block | 0 |
146 | } never executed: end of block | 0 |
147 | } never executed: end of block | 0 |
148 | | - |
149 | if ( | - |
150 | (*TRUE | never evaluated | FALSE | never evaluated |
__errno_location ()) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
151 | != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
152 | count = -1; never executed: count = -1; | 0 |
153 | | - |
154 | done: code before this statement never executed: done: | 0 |
155 | { | - |
156 | int saved_errno = | - |
157 | (*__errno_location ()) | - |
158 | ; | - |
159 | endgrent (); | - |
160 | | - |
161 | (*__errno_location ()) | - |
162 | = saved_errno; | - |
163 | } | - |
164 | | - |
165 | return never executed: return count; count;never executed: return count; | 0 |
166 | } | - |
| | |