| Line | Source | Count |
| 1 | | - |
| 2 | | - |
| 3 | | - |
| 4 | | - |
| 5 | | - |
| 6 | | - |
| 7 | | - |
| 8 | | - |
| 9 | static int | - |
| 10 | opt_flag(const char *opt, int allow_negate, const char **optsp) | - |
| 11 | { | - |
| 12 | size_t opt_len = strlen(opt); | - |
| 13 | const char *opts = *optsp; | - |
| 14 | int negate = 0; | - |
| 15 | | - |
| 16 | if (allow_negate| TRUE | never evaluated | | FALSE | never evaluated |
&& strncasecmp(opts, "no-", 3) == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 17 | opts += 3; | - |
| 18 | negate = 1; | - |
| 19 | } never executed: end of block | 0 |
| 20 | if (strncasecmp(opts, opt, opt_len) == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 21 | *optsp = opts + opt_len; | - |
| 22 | return never executed: return negate ? 0 : 1; negate| TRUE | never evaluated | | FALSE | never evaluated |
? 0 : 1;never executed: return negate ? 0 : 1; | 0 |
| 23 | } | - |
| 24 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 25 | } | - |
| 26 | | - |
| 27 | static char * | - |
| 28 | opt_dequote(const char **sp, const char **errstrp) | - |
| 29 | { | - |
| 30 | const char *s = *sp; | - |
| 31 | char *ret; | - |
| 32 | size_t i; | - |
| 33 | | - |
| 34 | *errstrp = | - |
| 35 | ((void *)0) | - |
| 36 | ; | - |
| 37 | if (*| TRUE | never evaluated | | FALSE | never evaluated |
s != '"'| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 38 | *errstrp = "missing start quote"; | - |
| 39 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 40 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 41 | ; never executed: return ((void *)0) ; | 0 |
| 42 | } | - |
| 43 | s++; | - |
| 44 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret = malloc(strlen((s)) + 1)) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 45 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 46 | ) { | - |
| 47 | *errstrp = "memory allocation failed"; | - |
| 48 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 49 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 50 | ; never executed: return ((void *)0) ; | 0 |
| 51 | } | - |
| 52 | for (i = 0; *| TRUE | never evaluated | | FALSE | never evaluated |
s != '\0'| TRUE | never evaluated | | FALSE | never evaluated |
&& *| TRUE | never evaluated | | FALSE | never evaluated |
s != '"'| TRUE | never evaluated | | FALSE | never evaluated |
;) { | 0 |
| 53 | if (s[0] == '\\'| TRUE | never evaluated | | FALSE | never evaluated |
&& s[1] == '"'| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 54 | s++; never executed: s++; | 0 |
| 55 | ret[i++] = *s++; | - |
| 56 | } never executed: end of block | 0 |
| 57 | if (*| TRUE | never evaluated | | FALSE | never evaluated |
s == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 58 | *errstrp = "missing end quote"; | - |
| 59 | free(ret); | - |
| 60 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 61 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 62 | ; never executed: return ((void *)0) ; | 0 |
| 63 | } | - |
| 64 | ret[i] = '\0'; | - |
| 65 | s++; | - |
| 66 | *sp = s; | - |
| 67 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 68 | } | - |
| 69 | | - |
| 70 | static int | - |
| 71 | opt_match(const char **opts, const char *term) | - |
| 72 | { | - |
| 73 | if (strncasecmp((*opts), term, strlen(term)) == 0| TRUE | never evaluated | | FALSE | never evaluated |
&& | 0 |
| 74 | (*| TRUE | never evaluated | | FALSE | never evaluated |
opts)[strlen(term)] == '='| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 75 | *opts += strlen(term) + 1; | - |
| 76 | return never executed: return 1; 1;never executed: return 1; | 0 |
| 77 | } | - |
| 78 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 79 | } | - |
| 80 | | - |
| 81 | static int | - |
| 82 | dup_strings(char ***dstp, size_t *ndstp, char **src, size_t nsrc) | - |
| 83 | { | - |
| 84 | char **dst; | - |
| 85 | size_t i, j; | - |
| 86 | | - |
| 87 | *dstp = | - |
| 88 | ((void *)0) | - |
| 89 | ; | - |
| 90 | *ndstp = 0; | - |
| 91 | if (nsrc == 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 92 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 93 | | - |
| 94 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
dst = calloc(nsrc, sizeof(*src))) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 95 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 96 | ) | - |
| 97 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 98 | for (i = 0; i < nsrc| TRUE | never evaluated | | FALSE | never evaluated |
; i++) { | 0 |
| 99 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
dst[i] = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 100 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 101 | src[i]| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 102 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 103 | src[i]| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 104 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 105 | src[i]| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 106 | ) == 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const| TRUE | never evaluated | | FALSE | never evaluated |
char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 107 | src[i]| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 108 | ))[0] == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 109 | src[i]| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 110 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, src[i] , __len); | 0 |
| 111 | src[i]| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, src[i] , __len); | 0 |
| 112 | , __len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 113 | src[i]| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 114 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 115 | ) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 116 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 117 | ) { | - |
| 118 | for (j = 0; j < i| TRUE | never evaluated | | FALSE | never evaluated |
; j++) | 0 |
| 119 | free(dst[j]); never executed: free(dst[j]); | 0 |
| 120 | free(dst); | - |
| 121 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 122 | } | - |
| 123 | } never executed: end of block | 0 |
| 124 | | - |
| 125 | *dstp = dst; | - |
| 126 | *ndstp = nsrc; | - |
| 127 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 128 | } | - |
| 129 | | - |
| 130 | | - |
| 131 | | - |
| 132 | static int | - |
| 133 | cert_option_list(struct sshauthopt *opts, struct sshbuf *oblob, | - |
| 134 | u_int which, int crit) | - |
| 135 | { | - |
| 136 | char *command, *allowed; | - |
| 137 | char *name = | - |
| 138 | ((void *)0) | - |
| 139 | ; | - |
| 140 | struct sshbuf *c = | - |
| 141 | ((void *)0) | - |
| 142 | , *data = | - |
| 143 | ((void *)0) | - |
| 144 | ; | - |
| 145 | int r, ret = -1, found; | - |
| 146 | | - |
| 147 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
c = sshbuf_fromb(oblob)) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 148 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 149 | ) { | - |
| 150 | error("%s: sshbuf_fromb failed", __func__); | - |
| 151 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 152 | } | - |
| 153 | | - |
| 154 | while (sshbuf_len(c) > 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 155 | sshbuf_free(data); | - |
| 156 | data = | - |
| 157 | ((void *)0) | - |
| 158 | ; | - |
| 159 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_cstring(c, &name, | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 160 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 161 | )) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 162 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_froms(c, &data)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 163 | error("Unable to parse certificate options: %s", | - |
| 164 | ssh_err(r)); | - |
| 165 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 166 | } | - |
| 167 | debug3("found certificate option \"%.100s\" len %zu", | - |
| 168 | name, sshbuf_len(data)); | - |
| 169 | found = 0; | - |
| 170 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
which & 2) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 171 | if ( | - |
| 172 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 173 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 174 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 175 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 176 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 177 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 178 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 179 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 180 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 181 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 182 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 183 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 184 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 185 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 186 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 187 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 188 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 189 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 190 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 191 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 192 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 193 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 194 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 195 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 196 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 197 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 198 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 199 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 200 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 201 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 202 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 203 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 204 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 205 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 206 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 207 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 208 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 209 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 210 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 211 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 212 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 213 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 214 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 215 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 216 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 217 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 218 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 219 | name| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 220 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 221 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 222 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 223 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 224 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 225 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 226 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 227 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 228 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 229 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 230 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 231 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 232 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 233 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 234 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 235 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 236 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 237 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 238 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 239 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 240 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 241 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 242 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 243 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 244 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 245 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 246 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-X11-forwarding" ))[3] - __s2[3]); | 0 |
| 247 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-X11-forwarding" ))[3] - __s2[3]); | 0 |
| 248 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 249 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 250 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 251 | "permit-X11-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 252 | )))); }) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 253 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 254 | opts->permit_x11_forwarding_flag = 1; | - |
| 255 | found = 1; | - |
| 256 | } never executed: end of block else if ( | 0 |
| 257 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 258 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 259 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 260 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 261 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 262 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 263 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 264 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 265 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 266 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 267 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 268 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 269 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 270 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 271 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 272 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 273 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 274 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 275 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 276 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 277 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 278 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 279 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 280 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 281 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 282 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 283 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 284 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 285 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 286 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 287 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 288 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 289 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 290 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 291 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 292 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 293 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 294 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 295 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 296 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 297 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 298 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 299 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 300 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 301 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 302 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 303 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 304 | name| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 305 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 306 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 307 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 308 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 309 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 310 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 311 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 312 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 313 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 314 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 315 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 316 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 317 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 318 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 319 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 320 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 321 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 322 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 323 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 324 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 325 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 326 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 327 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 328 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 329 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 330 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 331 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-agent-forwarding" ))[3] - __s2[3]); | 0 |
| 332 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-agent-forwarding" ))[3] - __s2[3]); | 0 |
| 333 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 334 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 335 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 336 | "permit-agent-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 337 | )))); })| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 338 | | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 339 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 340 | opts->permit_agent_forwarding_flag = 1; | - |
| 341 | found = 1; | - |
| 342 | } never executed: end of block else if ( | 0 |
| 343 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 344 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 345 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 346 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 347 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 348 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 349 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 350 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 351 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 352 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 353 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 354 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 355 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 356 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 357 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 358 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 359 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 360 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 361 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 362 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 363 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 364 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 365 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 366 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 367 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 368 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 369 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 370 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 371 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 372 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 373 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 374 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 375 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 376 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 377 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 378 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 379 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 380 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 381 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 382 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 383 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 384 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 385 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 386 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 387 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 388 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 389 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 390 | name| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 391 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 392 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 393 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 394 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 395 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 396 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 397 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 398 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 399 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 400 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 401 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 402 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 403 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 404 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 405 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 406 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 407 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 408 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 409 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 410 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 411 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 412 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 413 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 414 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 415 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 416 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 417 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-port-forwarding" ))[3] - __s2[3]); | 0 |
| 418 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-port-forwarding" ))[3] - __s2[3]); | 0 |
| 419 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 420 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 421 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 422 | "permit-port-forwarding"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 423 | )))); })| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 424 | | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 425 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 426 | opts->permit_port_forwarding_flag = 1; | - |
| 427 | found = 1; | - |
| 428 | } never executed: end of block else if ( | 0 |
| 429 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 430 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 431 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 432 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 433 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 434 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 435 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 436 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 437 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 438 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 439 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 440 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 441 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 442 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 443 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 444 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 445 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 446 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 447 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 448 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 449 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 450 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 451 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 452 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 453 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 454 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 455 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 456 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 457 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 458 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 459 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 460 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 461 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 462 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 463 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 464 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 465 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 466 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 467 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 468 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 469 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 470 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 471 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 472 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 473 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 474 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 475 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 476 | name| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 477 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 478 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 479 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 480 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 481 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 482 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 483 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 484 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 485 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 486 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 487 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 488 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 489 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 490 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 491 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 492 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 493 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 494 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 495 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 496 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 497 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 498 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 499 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 500 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 501 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 502 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 503 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-pty" ))[3] - __s2[3]); | 0 |
| 504 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-pty" ))[3] - __s2[3]); | 0 |
| 505 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 506 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 507 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 508 | "permit-pty"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 509 | )))); }) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 510 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 511 | opts->permit_pty_flag = 1; | - |
| 512 | found = 1; | - |
| 513 | } never executed: end of block else if ( | 0 |
| 514 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 515 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 516 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 517 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 518 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 519 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 520 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 521 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 522 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 523 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 524 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 525 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 526 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 527 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 528 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 529 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 530 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 531 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 532 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 533 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 534 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 535 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 536 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 537 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 538 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 539 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 540 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 541 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 542 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 543 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 544 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 545 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 546 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 547 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 548 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 549 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 550 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 551 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 552 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 553 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 554 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 555 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 556 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 557 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 558 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 559 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 560 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 561 | name| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 562 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 563 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 564 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 565 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 566 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 567 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 568 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 569 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 570 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 571 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 572 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 573 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 574 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 575 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 576 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 577 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 578 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 579 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 580 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 581 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 582 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 583 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 584 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 585 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 586 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 587 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 588 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-user-rc" ))[3] - __s2[3]); | 0 |
| 589 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-user-rc" ))[3] - __s2[3]); | 0 |
| 590 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 591 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 592 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 593 | "permit-user-rc"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 594 | )))); }) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 595 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 596 | opts->permit_user_rc = 1; | - |
| 597 | found = 1; | - |
| 598 | } never executed: end of block | 0 |
| 599 | } never executed: end of block | 0 |
| 600 | if (!found| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
which & 1) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 601 | if ( | - |
| 602 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 603 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 604 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 605 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 606 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 607 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 608 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 609 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 610 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 611 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 612 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 613 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 614 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 615 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 616 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 617 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 618 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 619 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 620 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 621 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 622 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 623 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 624 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 625 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 626 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 627 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 628 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 629 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 630 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 631 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 632 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 633 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 634 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 635 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 636 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 637 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 638 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 639 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 640 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 641 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 642 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 643 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 644 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 645 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 646 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 647 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 648 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 649 | name| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 650 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 651 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 652 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 653 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 654 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 655 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 656 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 657 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 658 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 659 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 660 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 661 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 662 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 663 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 664 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 665 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 666 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 667 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 668 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 669 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 670 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 671 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 672 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 673 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 674 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 675 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 676 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "force-command" ))[3] - __s2[3]); | 0 |
| 677 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "force-command" ))[3] - __s2[3]); | 0 |
| 678 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 679 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 680 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 681 | "force-command"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 682 | )))); }) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 683 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 684 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_cstring(data, &command,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 685 | | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 686 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 687 | )) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 688 | error("Unable to parse \"%s\" " | - |
| 689 | "section: %s", name, ssh_err(r)); | - |
| 690 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 691 | } | - |
| 692 | if (opts->force_command != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 693 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 694 | ) { | - |
| 695 | error("Certificate has multiple " | - |
| 696 | "force-command options"); | - |
| 697 | free(command); | - |
| 698 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 699 | } | - |
| 700 | opts->force_command = command; | - |
| 701 | found = 1; | - |
| 702 | } never executed: end of block | 0 |
| 703 | if ( | - |
| 704 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 705 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 706 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 707 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 708 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 709 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 710 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 711 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 712 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 713 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 714 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 715 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 716 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 717 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 718 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 719 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 720 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 721 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 722 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 723 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 724 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 725 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 726 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 727 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 728 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 729 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 730 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 731 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 732 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 733 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 734 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 735 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 736 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 737 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 738 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 739 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 740 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 741 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 742 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 743 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 744 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 745 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 746 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 747 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 748 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 749 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 750 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 751 | name| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
| 752 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 753 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 754 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 755 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 756 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 757 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 758 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 759 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 760 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 761 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 762 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 763 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 764 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 765 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 766 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 767 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 768 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 769 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 770 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 771 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 772 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 773 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 774 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 775 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 776 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 777 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 778 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "source-address" ))[3] - __s2[3]); | 0 |
| 779 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "source-address" ))[3] - __s2[3]); | 0 |
| 780 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 781 | name| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 782 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 783 | "source-address"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 784 | )))); }) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 785 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 786 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_cstring(data, &allowed,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 787 | | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 788 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 789 | )) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 790 | error("Unable to parse \"%s\" " | - |
| 791 | "section: %s", name, ssh_err(r)); | - |
| 792 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 793 | } | - |
| 794 | if (opts->required_from_host_cert != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 795 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 796 | ) { | - |
| 797 | error("Certificate has multiple " | - |
| 798 | "source-address options"); | - |
| 799 | free(allowed); | - |
| 800 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 801 | } | - |
| 802 | | - |
| 803 | if (addr_match_cidr_list(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 804 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 805 | , allowed) == -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 806 | error("Certificate source-address " | - |
| 807 | "contents invalid"); | - |
| 808 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 809 | } | - |
| 810 | opts->required_from_host_cert = allowed; | - |
| 811 | found = 1; | - |
| 812 | } never executed: end of block | 0 |
| 813 | } never executed: end of block | 0 |
| 814 | | - |
| 815 | if (!found| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 816 | if (crit| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 817 | error("Certificate critical option \"%s\" " | - |
| 818 | "is not supported", name); | - |
| 819 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 820 | } else { | - |
| 821 | logit("Certificate extension \"%s\" " | - |
| 822 | "is not supported", name); | - |
| 823 | } never executed: end of block | 0 |
| 824 | } else if (sshbuf_len(data) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 825 | error("Certificate option \"%s\" corrupt " | - |
| 826 | "(extra data)", name); | - |
| 827 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 828 | } | - |
| 829 | free(name); | - |
| 830 | name = | - |
| 831 | ((void *)0) | - |
| 832 | ; | - |
| 833 | } never executed: end of block | 0 |
| 834 | | - |
| 835 | ret = 0; | - |
| 836 | | - |
| 837 | out: code before this statement never executed: out: | 0 |
| 838 | free(name); | - |
| 839 | sshbuf_free(data); | - |
| 840 | sshbuf_free(c); | - |
| 841 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 842 | } | - |
| 843 | | - |
| 844 | struct sshauthopt * | - |
| 845 | sshauthopt_new(void) | - |
| 846 | { | - |
| 847 | struct sshauthopt *ret; | - |
| 848 | | - |
| 849 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret = calloc(1, sizeof(*ret))) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 850 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 851 | ) | - |
| 852 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 853 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 854 | ; never executed: return ((void *)0) ; | 0 |
| 855 | ret->force_tun_device = -1; | - |
| 856 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 857 | } | - |
| 858 | | - |
| 859 | void | - |
| 860 | sshauthopt_free(struct sshauthopt *opts) | - |
| 861 | { | - |
| 862 | size_t i; | - |
| 863 | | - |
| 864 | if (opts == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 865 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 866 | ) | - |
| 867 | return; never executed: return; | 0 |
| 868 | | - |
| 869 | free(opts->cert_principals); | - |
| 870 | free(opts->force_command); | - |
| 871 | free(opts->required_from_host_cert); | - |
| 872 | free(opts->required_from_host_keys); | - |
| 873 | | - |
| 874 | for (i = 0; i < opts->nenv| TRUE | never evaluated | | FALSE | never evaluated |
; i++) | 0 |
| 875 | free(opts->env[i]); never executed: free(opts->env[i]); | 0 |
| 876 | free(opts->env); | - |
| 877 | | - |
| 878 | for (i = 0; i < opts->npermitopen| TRUE | never evaluated | | FALSE | never evaluated |
; i++) | 0 |
| 879 | free(opts->permitopen[i]); never executed: free(opts->permitopen[i]); | 0 |
| 880 | free(opts->permitopen); | - |
| 881 | | - |
| 882 | for (i = 0; i < opts->npermitlisten| TRUE | never evaluated | | FALSE | never evaluated |
; i++) | 0 |
| 883 | free(opts->permitlisten[i]); never executed: free(opts->permitlisten[i]); | 0 |
| 884 | free(opts->permitlisten); | - |
| 885 | | - |
| 886 | explicit_bzero(opts, sizeof(*opts)); | - |
| 887 | free(opts); | - |
| 888 | } never executed: end of block | 0 |
| 889 | | - |
| 890 | struct sshauthopt * | - |
| 891 | sshauthopt_new_with_keys_defaults(void) | - |
| 892 | { | - |
| 893 | struct sshauthopt *ret = | - |
| 894 | ((void *)0) | - |
| 895 | ; | - |
| 896 | | - |
| 897 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret = sshauthopt_new()) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 898 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 899 | ) | - |
| 900 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 901 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 902 | ; never executed: return ((void *)0) ; | 0 |
| 903 | | - |
| 904 | | - |
| 905 | ret->permit_port_forwarding_flag = 1; | - |
| 906 | ret->permit_agent_forwarding_flag = 1; | - |
| 907 | ret->permit_x11_forwarding_flag = 1; | - |
| 908 | ret->permit_pty_flag = 1; | - |
| 909 | ret->permit_user_rc = 1; | - |
| 910 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 911 | } | - |
| 912 | | - |
| 913 | | - |
| 914 | | - |
| 915 | | - |
| 916 | | - |
| 917 | static int | - |
| 918 | handle_permit(const char **optsp, int allow_bare_port, | - |
| 919 | char ***permitsp, size_t *npermitsp, const char **errstrp) | - |
| 920 | { | - |
| 921 | char *opt, *tmp, *cp, *host, **permits = *permitsp; | - |
| 922 | size_t npermits = *npermitsp; | - |
| 923 | const char *errstr = "unknown error"; | - |
| 924 | | - |
| 925 | if (npermits > 0x7fffffff| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 926 | *errstrp = "too many permission directives"; | - |
| 927 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 928 | } | - |
| 929 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
opt = opt_dequote(optsp, &errstr)) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 930 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 931 | ) { | - |
| 932 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 933 | } | - |
| 934 | if (allow_bare_port| TRUE | never evaluated | | FALSE | never evaluated |
&& | 0 |
| 935 | (| TRUE | never evaluated | | FALSE | never evaluated |
__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 936 | ':'| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 937 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& !__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 938 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 939 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 940 | ':'| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 941 | ) == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
? (char *) __rawmemchr (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 942 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 943 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 944 | ':'| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 945 | ) : __builtin_strchr (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 946 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 947 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 948 | ':'| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 949 | ))) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 950 | == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 951 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 952 | ) { | - |
| 953 | | - |
| 954 | | - |
| 955 | | - |
| 956 | | - |
| 957 | if (asprintf(&tmp, "*:%s", opt) < 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 958 | *errstrp = "memory allocation failed"; | - |
| 959 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 960 | } | - |
| 961 | free(opt); | - |
| 962 | opt = tmp; | - |
| 963 | } never executed: end of block | 0 |
| 964 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
tmp = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 965 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 966 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 967 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 968 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 969 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 970 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 971 | ) == 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const| TRUE | never evaluated | | FALSE | never evaluated |
char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 972 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 973 | ))[0] == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 974 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 975 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, opt , __len); | 0 |
| 976 | opt| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, opt , __len); | 0 |
| 977 | , __len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 978 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 979 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 980 | ) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 981 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 982 | ) { | - |
| 983 | free(opt); | - |
| 984 | *errstrp = "memory allocation failed"; | - |
| 985 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 986 | } | - |
| 987 | cp = tmp; | - |
| 988 | | - |
| 989 | host = hpdelim(&cp); | - |
| 990 | if (host == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 991 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 992 | || strlen(host) >= | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 993 | 1025| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 994 | ) { | - |
| 995 | free(tmp); | - |
| 996 | free(opt); | - |
| 997 | *errstrp = "invalid permission hostname"; | - |
| 998 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 999 | } | - |
| 1000 | | - |
| 1001 | | - |
| 1002 | | - |
| 1003 | | - |
| 1004 | if (cp == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1005 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1006 | || | - |
| 1007 | ( | - |
| 1008 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1009 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1010 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1011 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1012 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1013 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1014 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1015 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1016 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1017 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1018 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1019 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1020 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1021 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1022 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1023 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1024 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1025 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1026 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1027 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1028 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1029 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1030 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1031 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1032 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1033 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1034 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1035 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1036 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1037 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1038 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1039 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1040 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1041 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1042 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1043 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1044 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1045 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1046 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1047 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1048 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1049 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1050 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1051 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1052 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1053 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1054 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( cp ))[3] - __s2[3]); | 0 |
| 1055 | cp| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( cp ))[3] - __s2[3]); | 0 |
| 1056 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1057 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1058 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1059 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1060 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1061 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1062 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1063 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1064 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1065 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1066 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1067 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1068 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1069 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1070 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1071 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1072 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1073 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1074 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1075 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1076 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1077 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1078 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1079 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1080 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1081 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1082 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "*" ))[3] - __s2[3]); | 0 |
| 1083 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "*" ))[3] - __s2[3]); | 0 |
| 1084 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1085 | cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1086 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1087 | "*"| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1088 | )))); }) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1089 | != 0| TRUE | never evaluated | | FALSE | never evaluated |
&& a2port(cp) <= 0| TRUE | never evaluated | | FALSE | never evaluated |
)) { | 0 |
| 1090 | free(tmp); | - |
| 1091 | free(opt); | - |
| 1092 | *errstrp = "invalid permission port"; | - |
| 1093 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 1094 | } | - |
| 1095 | | - |
| 1096 | free(tmp); | - |
| 1097 | | - |
| 1098 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
permits = recallocarray(permits, npermits, npermits + 1,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1099 | sizeof(*permits))) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1100 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1101 | ) { | - |
| 1102 | free(opt); | - |
| 1103 | | - |
| 1104 | *errstrp = "memory allocation failed"; | - |
| 1105 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 1106 | } | - |
| 1107 | permits[npermits++] = opt; | - |
| 1108 | *permitsp = permits; | - |
| 1109 | *npermitsp = npermits; | - |
| 1110 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 1111 | } | - |
| 1112 | | - |
| 1113 | struct sshauthopt * | - |
| 1114 | sshauthopt_parse(const char *opts, const char **errstrp) | - |
| 1115 | { | - |
| 1116 | char **oarray, *opt, *cp, *tmp; | - |
| 1117 | int r; | - |
| 1118 | struct sshauthopt *ret = | - |
| 1119 | ((void *)0) | - |
| 1120 | ; | - |
| 1121 | const char *errstr = "unknown error"; | - |
| 1122 | uint64_t valid_before; | - |
| 1123 | | - |
| 1124 | if (errstrp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1125 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1126 | ) | - |
| 1127 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
| 1128 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
| 1129 | ; never executed: *errstrp = ((void *)0) ; | 0 |
| 1130 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret = sshauthopt_new_with_keys_defaults()) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1131 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1132 | ) | - |
| 1133 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1134 | | - |
| 1135 | if (opts == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1136 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1137 | ) | - |
| 1138 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 1139 | | - |
| 1140 | while (*| TRUE | never evaluated | | FALSE | never evaluated |
opts| TRUE | never evaluated | | FALSE | never evaluated |
&& *| TRUE | never evaluated | | FALSE | never evaluated |
opts != ' '| TRUE | never evaluated | | FALSE | never evaluated |
&& *| TRUE | never evaluated | | FALSE | never evaluated |
opts != '\t'| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1141 | | - |
| 1142 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = opt_flag("restrict", 0, &opts)) != -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1143 | ret->restricted = 1; | - |
| 1144 | ret->permit_port_forwarding_flag = 0; | - |
| 1145 | ret->permit_agent_forwarding_flag = 0; | - |
| 1146 | ret->permit_x11_forwarding_flag = 0; | - |
| 1147 | ret->permit_pty_flag = 0; | - |
| 1148 | ret->permit_user_rc = 0; | - |
| 1149 | } never executed: end of block else if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = opt_flag("cert-authority", 0, &opts)) != -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1150 | ret->cert_authority = r; | - |
| 1151 | } never executed: end of block else if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = opt_flag("port-forwarding", 1, &opts)) != -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1152 | ret->permit_port_forwarding_flag = r == 1; | - |
| 1153 | } never executed: end of block else if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = opt_flag("agent-forwarding", 1, &opts)) != -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1154 | ret->permit_agent_forwarding_flag = r == 1; | - |
| 1155 | } never executed: end of block else if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = opt_flag("x11-forwarding", 1, &opts)) != -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1156 | ret->permit_x11_forwarding_flag = r == 1; | - |
| 1157 | } never executed: end of block else if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = opt_flag("pty", 1, &opts)) != -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1158 | ret->permit_pty_flag = r == 1; | - |
| 1159 | } never executed: end of block else if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = opt_flag("user-rc", 1, &opts)) != -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1160 | ret->permit_user_rc = r == 1; | - |
| 1161 | } never executed: end of block else if (opt_match(&opts, "command")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1162 | if (ret->force_command != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1163 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1164 | ) { | - |
| 1165 | errstr = "multiple \"command\" clauses"; | - |
| 1166 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1167 | } | - |
| 1168 | ret->force_command = opt_dequote(&opts, &errstr); | - |
| 1169 | if (ret->force_command == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1170 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1171 | ) | - |
| 1172 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1173 | } never executed: end of block else if (opt_match(&opts, "principals")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1174 | if (ret->cert_principals != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1175 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1176 | ) { | - |
| 1177 | errstr = "multiple \"principals\" clauses"; | - |
| 1178 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1179 | } | - |
| 1180 | ret->cert_principals = opt_dequote(&opts, &errstr); | - |
| 1181 | if (ret->cert_principals == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1182 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1183 | ) | - |
| 1184 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1185 | } never executed: end of block else if (opt_match(&opts, "from")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1186 | if (ret->required_from_host_keys != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1187 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1188 | ) { | - |
| 1189 | errstr = "multiple \"from\" clauses"; | - |
| 1190 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1191 | } | - |
| 1192 | ret->required_from_host_keys = opt_dequote(&opts, | - |
| 1193 | &errstr); | - |
| 1194 | if (ret->required_from_host_keys == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1195 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1196 | ) | - |
| 1197 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1198 | } never executed: end of block else if (opt_match(&opts, "expiry-time")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1199 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
opt = opt_dequote(&opts, &errstr)) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1200 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1201 | ) | - |
| 1202 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1203 | if (parse_absolute_time(opt, &valid_before) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1204 | valid_before == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1205 | free(opt); | - |
| 1206 | errstr = "invalid expires time"; | - |
| 1207 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1208 | } | - |
| 1209 | free(opt); | - |
| 1210 | if (ret->valid_before == 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1211 | valid_before < ret->valid_before| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1212 | ret->valid_before = valid_before; never executed: ret->valid_before = valid_before; | 0 |
| 1213 | } never executed: end of block else if (opt_match(&opts, "environment")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1214 | if (ret->nenv > 0x7fffffff| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1215 | errstr = "too many environment strings"; | - |
| 1216 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1217 | } | - |
| 1218 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
opt = opt_dequote(&opts, &errstr)) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1219 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1220 | ) | - |
| 1221 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1222 | | - |
| 1223 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
tmp = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1224 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1225 | '='| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1226 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& !__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1227 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1228 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1229 | '='| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1230 | ) == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
? (char *) __rawmemchr (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1231 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1232 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1233 | '='| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1234 | ) : __builtin_strchr (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1235 | opt| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1236 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1237 | '='| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1238 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1239 | ) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1240 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1241 | ) { | - |
| 1242 | free(opt); | - |
| 1243 | errstr = "invalid environment string"; | - |
| 1244 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1245 | } | - |
| 1246 | for (cp = opt; cp < tmp| TRUE | never evaluated | | FALSE | never evaluated |
; cp++) { | 0 |
| 1247 | if (!| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1248 | ((*__ctype_b_loc ())[(int) ((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1249 | (u_char)*cp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1250 | ))] & (unsigned short int) _ISalnum)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1251 | && *| TRUE | never evaluated | | FALSE | never evaluated |
cp != '_'| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1252 | free(opt); | - |
| 1253 | errstr = "invalid environment string"; | - |
| 1254 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1255 | } | - |
| 1256 | } never executed: end of block | 0 |
| 1257 | | - |
| 1258 | oarray = ret->env; | - |
| 1259 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret->env = recallocarray(ret->env, ret->nenv,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1260 | ret->nenv + 1, sizeof(*ret->env))) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1261 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1262 | ) { | - |
| 1263 | free(opt); | - |
| 1264 | ret->env = oarray; | - |
| 1265 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1266 | } | - |
| 1267 | ret->env[ret->nenv++] = opt; | - |
| 1268 | } never executed: end of block else if (opt_match(&opts, "permitopen")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1269 | if (handle_permit(&opts, 0, &ret->permitopen,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1270 | &ret->npermitopen, &errstr) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1271 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1272 | } never executed: end of block else if (opt_match(&opts, "permitlisten")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1273 | if (handle_permit(&opts, 1, &ret->permitlisten,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1274 | &ret->npermitlisten, &errstr) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1275 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1276 | } never executed: end of block else if (opt_match(&opts, "tunnel")| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1277 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
opt = opt_dequote(&opts, &errstr)) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1278 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1279 | ) | - |
| 1280 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1281 | ret->force_tun_device = a2tun(opt, | - |
| 1282 | ((void *)0) | - |
| 1283 | ); | - |
| 1284 | free(opt); | - |
| 1285 | if (ret->force_tun_device == (0x7fffffff - 1)| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1286 | errstr = "invalid tun device"; | - |
| 1287 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1288 | } | - |
| 1289 | } never executed: end of block | 0 |
| 1290 | | - |
| 1291 | | - |
| 1292 | | - |
| 1293 | | - |
| 1294 | if (*| TRUE | never evaluated | | FALSE | never evaluated |
opts == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
|| *| TRUE | never evaluated | | FALSE | never evaluated |
opts == ' '| TRUE | never evaluated | | FALSE | never evaluated |
|| *| TRUE | never evaluated | | FALSE | never evaluated |
opts == '\t'| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1295 | break; never executed: break; | 0 |
| 1296 | | - |
| 1297 | if (*| TRUE | never evaluated | | FALSE | never evaluated |
opts != ','| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1298 | errstr = "unknown key option"; | - |
| 1299 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1300 | } | - |
| 1301 | opts++; | - |
| 1302 | if (*| TRUE | never evaluated | | FALSE | never evaluated |
opts == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1303 | errstr = "unexpected end-of-options"; | - |
| 1304 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1305 | } | - |
| 1306 | } never executed: end of block | 0 |
| 1307 | | - |
| 1308 | | - |
| 1309 | if (errstrp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1310 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1311 | ) | - |
| 1312 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
| 1313 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
| 1314 | ; never executed: *errstrp = ((void *)0) ; | 0 |
| 1315 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 1316 | | - |
| 1317 | alloc_fail: | - |
| 1318 | errstr = "memory allocation failed"; | - |
| 1319 | fail: code before this statement never executed: fail: | 0 |
| 1320 | sshauthopt_free(ret); | - |
| 1321 | if (errstrp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1322 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1323 | ) | - |
| 1324 | * never executed: *errstrp = errstr; errstrp = errstr;never executed: *errstrp = errstr; | 0 |
| 1325 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1326 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1327 | ; never executed: return ((void *)0) ; | 0 |
| 1328 | } | - |
| 1329 | | - |
| 1330 | struct sshauthopt * | - |
| 1331 | sshauthopt_from_cert(struct sshkey *k) | - |
| 1332 | { | - |
| 1333 | struct sshauthopt *ret; | - |
| 1334 | | - |
| 1335 | if (k == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1336 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1337 | || !sshkey_type_is_cert(k->type)| TRUE | never evaluated | | FALSE | never evaluated |
|| k->cert == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1338 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1339 | || | - |
| 1340 | k->cert->type != 1| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1341 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1342 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1343 | ; never executed: return ((void *)0) ; | 0 |
| 1344 | | - |
| 1345 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret = sshauthopt_new()) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1346 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1347 | ) | - |
| 1348 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1349 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1350 | ; never executed: return ((void *)0) ; | 0 |
| 1351 | | - |
| 1352 | | - |
| 1353 | if (cert_option_list(ret, k->cert->critical,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1354 | 1, 1) == -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1355 | sshauthopt_free(ret); | - |
| 1356 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1357 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1358 | ; never executed: return ((void *)0) ; | 0 |
| 1359 | } | - |
| 1360 | if (cert_option_list(ret, k->cert->extensions,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1361 | 2, 0) == -1| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1362 | sshauthopt_free(ret); | - |
| 1363 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1364 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1365 | ; never executed: return ((void *)0) ; | 0 |
| 1366 | } | - |
| 1367 | | - |
| 1368 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 1369 | } | - |
| 1370 | | - |
| 1371 | | - |
| 1372 | | - |
| 1373 | | - |
| 1374 | | - |
| 1375 | struct sshauthopt * | - |
| 1376 | sshauthopt_merge(const struct sshauthopt *primary, | - |
| 1377 | const struct sshauthopt *additional, const char **errstrp) | - |
| 1378 | { | - |
| 1379 | struct sshauthopt *ret; | - |
| 1380 | const char *errstr = "internal error"; | - |
| 1381 | const char *tmp; | - |
| 1382 | | - |
| 1383 | if (errstrp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1384 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1385 | ) | - |
| 1386 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
| 1387 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
| 1388 | ; never executed: *errstrp = ((void *)0) ; | 0 |
| 1389 | | - |
| 1390 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret = sshauthopt_new()) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1391 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1392 | ) | - |
| 1393 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1394 | | - |
| 1395 | | - |
| 1396 | | - |
| 1397 | | - |
| 1398 | | - |
| 1399 | tmp = primary->required_from_host_cert; | - |
| 1400 | if (tmp == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1401 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1402 | ) | - |
| 1403 | tmp = additional->required_from_host_cert; never executed: tmp = additional->required_from_host_cert; | 0 |
| 1404 | if (tmp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1405 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1406 | && (| TRUE | never evaluated | | FALSE | never evaluated |
ret->required_from_host_cert = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1407 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1408 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1409 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1410 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1411 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1412 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1413 | ) == 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1414 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1415 | ))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1416 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1417 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
| 1418 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
| 1419 | , __len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1420 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1421 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1422 | ) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1423 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1424 | ) | - |
| 1425 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1426 | tmp = primary->required_from_host_keys; | - |
| 1427 | if (tmp == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1428 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1429 | ) | - |
| 1430 | tmp = additional->required_from_host_keys; never executed: tmp = additional->required_from_host_keys; | 0 |
| 1431 | if (tmp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1432 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1433 | && (| TRUE | never evaluated | | FALSE | never evaluated |
ret->required_from_host_keys = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1434 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1435 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1436 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1437 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1438 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1439 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1440 | ) == 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1441 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1442 | ))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1443 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1444 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
| 1445 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
| 1446 | , __len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1447 | tmp| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1448 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1449 | ) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1450 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1451 | ) | - |
| 1452 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1453 | | - |
| 1454 | | - |
| 1455 | | - |
| 1456 | | - |
| 1457 | | - |
| 1458 | ret->force_tun_device = primary->force_tun_device; | - |
| 1459 | if (ret->force_tun_device == -1| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1460 | ret->force_tun_device = additional->force_tun_device; never executed: ret->force_tun_device = additional->force_tun_device; | 0 |
| 1461 | if (primary->nenv > 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1462 | if (dup_strings(&ret->env, &ret->nenv,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1463 | primary->env, primary->nenv) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1464 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1465 | } never executed: end of block else if (additional->nenv| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1466 | if (dup_strings(&ret->env, &ret->nenv,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1467 | additional->env, additional->nenv) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1468 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1469 | } never executed: end of block | 0 |
| 1470 | if (primary->npermitopen > 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1471 | if (dup_strings(&ret->permitopen, &ret->npermitopen,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1472 | primary->permitopen, primary->npermitopen) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1473 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1474 | } never executed: end of block else if (additional->npermitopen > 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1475 | if (dup_strings(&ret->permitopen, &ret->npermitopen,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1476 | additional->permitopen, additional->npermitopen) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1477 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1478 | } never executed: end of block | 0 |
| 1479 | | - |
| 1480 | if (primary->npermitlisten > 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1481 | if (dup_strings(&ret->permitlisten, &ret->npermitlisten,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1482 | primary->permitlisten, primary->npermitlisten) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1483 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1484 | } never executed: end of block else if (additional->npermitlisten > 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1485 | if (dup_strings(&ret->permitlisten, &ret->npermitlisten,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1486 | additional->permitlisten, additional->npermitlisten) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1487 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1488 | } never executed: end of block | 0 |
| 1489 | | - |
| 1490 | | - |
| 1491 | | - |
| 1492 | ret->permit_port_forwarding_flag = (| TRUE | never evaluated | | FALSE | never evaluated |
primary->permit_port_forwarding_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
additional->permit_port_forwarding_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
; | 0 |
| 1493 | ret->permit_agent_forwarding_flag = (| TRUE | never evaluated | | FALSE | never evaluated |
primary->permit_agent_forwarding_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
additional->permit_agent_forwarding_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
; | 0 |
| 1494 | ret->permit_x11_forwarding_flag = (| TRUE | never evaluated | | FALSE | never evaluated |
primary->permit_x11_forwarding_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
additional->permit_x11_forwarding_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
; | 0 |
| 1495 | ret->permit_pty_flag = (| TRUE | never evaluated | | FALSE | never evaluated |
primary->permit_pty_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
additional->permit_pty_flag == 1)| TRUE | never evaluated | | FALSE | never evaluated |
; | 0 |
| 1496 | ret->permit_user_rc = (| TRUE | never evaluated | | FALSE | never evaluated |
primary->permit_user_rc == 1)| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
additional->permit_user_rc == 1)| TRUE | never evaluated | | FALSE | never evaluated |
; | 0 |
| 1497 | | - |
| 1498 | | - |
| 1499 | | - |
| 1500 | if (primary->valid_before != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1501 | ret->valid_before = primary->valid_before; never executed: ret->valid_before = primary->valid_before; | 0 |
| 1502 | if (additional->valid_before != 0| TRUE | never evaluated | | FALSE | never evaluated |
&& | 0 |
| 1503 | additional->valid_before < ret->valid_before| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1504 | ret->valid_before = additional->valid_before; never executed: ret->valid_before = additional->valid_before; | 0 |
| 1505 | | - |
| 1506 | | - |
| 1507 | | - |
| 1508 | | - |
| 1509 | | - |
| 1510 | if (primary->force_command != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1511 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1512 | && | - |
| 1513 | additional->force_command != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1514 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1515 | ) { | - |
| 1516 | if ( | - |
| 1517 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1518 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1519 | ) && __builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1520 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1521 | ) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1522 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1523 | ), __s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1524 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1525 | ), (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1526 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1527 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1528 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1529 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1530 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1531 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1532 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1533 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1534 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1535 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1536 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1537 | ) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1538 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1539 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1540 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1541 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1542 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1543 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1544 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1545 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1546 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1547 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1548 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1549 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1550 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1551 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1552 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1553 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1554 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1555 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1556 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1557 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1558 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1559 | ))[0] - __s2[0]); if (__s1_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1560 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1561 | ))[1] - __s2[1]); if (__s1_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1562 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1563 | ))[2] - __s2[2]); if (__s1_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( primary->force_command ))[3] - __s2[3]); | 0 |
| 1564 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( primary->force_command ))[3] - __s2[3]); | 0 |
| 1565 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1566 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1567 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1568 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1569 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1570 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1571 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1572 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1573 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1574 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1575 | ) && ((size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1576 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1577 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1578 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1579 | ) == 1) ? __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1580 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1581 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1582 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1583 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1584 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1585 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1586 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1587 | ))[0] - __s2[0]); if (__s2_len > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1588 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1589 | ))[1] - __s2[1]); if (__s2_len > 1| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1590 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1591 | ))[2] - __s2[2]); if (__s2_len > 2| TRUE | never evaluated | | FALSE | never evaluated |
&& __result == 0| TRUE | never evaluated | | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( additional->force_command ))[3] - __s2[3]); | 0 |
| 1592 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( additional->force_command ))[3] - __s2[3]); | 0 |
| 1593 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1594 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1595 | , | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1596 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1597 | )))); })| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1598 | | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1599 | == 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1600 | | - |
| 1601 | ret->force_command = | - |
| 1602 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1603 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1604 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1605 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1606 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1607 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1608 | ) == 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const| TRUE | never evaluated | | FALSE | never evaluated |
char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1609 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1610 | ))[0] == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen ( | 0 |
| 1611 | primary->force_command | - |
| 1612 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); | 0 |
| 1613 | primary->force_command never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); | 0 |
| 1614 | , __len); never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); __retval; })) : __strdup ( | 0 |
| 1615 | primary->force_command | - |
| 1616 | ))) | - |
| 1617 | ; | - |
| 1618 | if (ret->force_command == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1619 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1620 | ) | - |
| 1621 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1622 | } never executed: end of block else { | 0 |
| 1623 | errstr = "forced command options do not match"; | - |
| 1624 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
| 1625 | } | - |
| 1626 | } else if (primary->force_command != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1627 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1628 | ) { | - |
| 1629 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret->force_command = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1630 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1631 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1632 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1633 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1634 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1635 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1636 | ) == 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const| TRUE | never evaluated | | FALSE | never evaluated |
char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1637 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1638 | ))[0] == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1639 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1640 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); | 0 |
| 1641 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); | 0 |
| 1642 | , __len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1643 | primary->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1644 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1645 | | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1646 | ) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1647 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1648 | ) | - |
| 1649 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1650 | } never executed: end of block else if (additional->force_command != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1651 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1652 | ) { | - |
| 1653 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret->force_command = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1654 | (__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1655 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1656 | )| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1657 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1658 | ) + 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1659 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1660 | ) == 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const| TRUE | never evaluated | | FALSE | never evaluated |
char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1661 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1662 | ))[0] == '\0'| TRUE | never evaluated | | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1663 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1664 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, additional->force_command , __len); | 0 |
| 1665 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, additional->force_command , __len); | 0 |
| 1666 | , __len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1667 | additional->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1668 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1669 | | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1670 | ) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1671 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1672 | ) | - |
| 1673 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
| 1674 | } never executed: end of block | 0 |
| 1675 | | - |
| 1676 | if (errstrp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1677 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1678 | ) | - |
| 1679 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
| 1680 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
| 1681 | ; never executed: *errstrp = ((void *)0) ; | 0 |
| 1682 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 1683 | | - |
| 1684 | alloc_fail: | - |
| 1685 | errstr = "memory allocation failed"; | - |
| 1686 | fail: code before this statement never executed: fail: | 0 |
| 1687 | if (errstrp != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1688 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1689 | ) | - |
| 1690 | * never executed: *errstrp = errstr; errstrp = errstr;never executed: *errstrp = errstr; | 0 |
| 1691 | sshauthopt_free(ret); | - |
| 1692 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1693 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1694 | ; never executed: return ((void *)0) ; | 0 |
| 1695 | } | - |
| 1696 | | - |
| 1697 | | - |
| 1698 | | - |
| 1699 | | - |
| 1700 | struct sshauthopt * | - |
| 1701 | sshauthopt_copy(const struct sshauthopt *orig) | - |
| 1702 | { | - |
| 1703 | struct sshauthopt *ret; | - |
| 1704 | | - |
| 1705 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
ret = sshauthopt_new()) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1706 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1707 | ) | - |
| 1708 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1709 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1710 | ; never executed: return ((void *)0) ; | 0 |
| 1711 | | - |
| 1712 | | - |
| 1713 | ret->permit_port_forwarding_flag = orig->permit_port_forwarding_flag; | - |
| 1714 | ret->permit_agent_forwarding_flag = orig->permit_agent_forwarding_flag; | - |
| 1715 | ret->permit_x11_forwarding_flag = orig->permit_x11_forwarding_flag; | - |
| 1716 | ret->permit_pty_flag = orig->permit_pty_flag; | - |
| 1717 | ret->permit_user_rc = orig->permit_user_rc; | - |
| 1718 | ret->restricted = orig->restricted; | - |
| 1719 | ret->cert_authority = orig->cert_authority; | - |
| 1720 | ret->force_tun_device = orig->force_tun_device; | - |
| 1721 | ret->valid_before = orig->valid_before; | - |
| 1722 | do { if (orig->cert_principals != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1723 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1724 | && (| TRUE | never evaluated | | FALSE | never evaluated |
ret->cert_principals = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1725 | (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1726 | orig->cert_principals| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1727 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1728 | orig->cert_principals| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1729 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1730 | orig->cert_principals| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1731 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1732 | orig->cert_principals| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1733 | ))[| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1734 | orig->cert_principals| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1735 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->cert_principals , __len); | 0 |
| 1736 | orig->cert_principals| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->cert_principals , __len); | 0 |
| 1737 | ,| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1738 | orig->cert_principals| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1739 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1740 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1741 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1742 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1743 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
| 1744 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
| 1745 | do { if (orig->force_command != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1746 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1747 | && (| TRUE | never evaluated | | FALSE | never evaluated |
ret->force_command = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1748 | (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1749 | orig->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1750 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1751 | orig->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1752 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1753 | orig->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1754 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1755 | orig->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1756 | ))[| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1757 | orig->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1758 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->force_command , __len); | 0 |
| 1759 | orig->force_command| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->force_command , __len); | 0 |
| 1760 | ,| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1761 | orig->force_command| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1762 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1763 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1764 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1765 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1766 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
| 1767 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
| 1768 | do { if (orig->required_from_host_cert != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1769 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1770 | && (| TRUE | never evaluated | | FALSE | never evaluated |
ret->required_from_host_cert = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1771 | (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1772 | orig->required_from_host_cert| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1773 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1774 | orig->required_from_host_cert| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1775 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1776 | orig->required_from_host_cert| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1777 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1778 | orig->required_from_host_cert| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1779 | ))[| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1780 | orig->required_from_host_cert| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1781 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_cert , __len); | 0 |
| 1782 | orig->required_from_host_cert| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_cert , __len); | 0 |
| 1783 | ,| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1784 | orig->required_from_host_cert| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1785 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1786 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1787 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1788 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1789 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
| 1790 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
| 1791 | do { if (orig->required_from_host_keys != | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1792 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1793 | && (| TRUE | never evaluated | | FALSE | never evaluated |
ret->required_from_host_keys = | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1794 | (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__extension__ (__builtin_constant_p (| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1795 | orig->required_from_host_keys| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1796 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
&& ((| TRUE | never evaluated | | FALSE | never evaluated |
size_t)(const void *)((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1797 | orig->required_from_host_keys| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1798 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1799 | orig->required_from_host_keys| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1800 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== 1)| TRUE | never evaluated | | FALSE | never evaluated |
? (((const char *) (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1801 | orig->required_from_host_keys| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1802 | ))[| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1803 | orig->required_from_host_keys| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1804 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_keys , __len); | 0 |
| 1805 | orig->required_from_host_keys| TRUE | never evaluated | | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_keys , __len); | 0 |
| 1806 | ,| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
__len); __retval; })) : __strdup (| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1807 | orig->required_from_host_keys| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1808 | )))| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1809 | )| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
== | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1810 | ((| TRUE | never evaluated | | FALSE | never evaluated |
| TRUE | never evaluated | | FALSE | never evaluated |
void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1811 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1812 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
| 1813 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
| 1814 | | - |
| 1815 | | - |
| 1816 | if (dup_strings(&ret->env, &ret->nenv, orig->env, orig->nenv) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1817 | dup_strings(&ret->permitopen, &ret->npermitopen,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1818 | orig->permitopen, orig->npermitopen) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1819 | dup_strings(&ret->permitlisten, &ret->npermitlisten,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1820 | orig->permitlisten, orig->npermitlisten) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1821 | sshauthopt_free(ret); | - |
| 1822 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 1823 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 1824 | ; never executed: return ((void *)0) ; | 0 |
| 1825 | } | - |
| 1826 | return never executed: return ret; ret;never executed: return ret; | 0 |
| 1827 | } | - |
| 1828 | | - |
| 1829 | static int | - |
| 1830 | serialise_array(struct sshbuf *m, char **a, size_t n) | - |
| 1831 | { | - |
| 1832 | struct sshbuf *b; | - |
| 1833 | size_t i; | - |
| 1834 | int r; | - |
| 1835 | | - |
| 1836 | if (n > 0x7fffffff| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1837 | return never executed: return -1; -1;never executed: return -1; | 0 |
| 1838 | | - |
| 1839 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
b = sshbuf_new()) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1840 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1841 | ) { | - |
| 1842 | return never executed: return -2; -2;never executed: return -2; | 0 |
| 1843 | } | - |
| 1844 | for (i = 0; i < n| TRUE | never evaluated | | FALSE | never evaluated |
; i++) { | 0 |
| 1845 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_cstring(b, a[i])) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1846 | sshbuf_free(b); | - |
| 1847 | return never executed: return r; r;never executed: return r; | 0 |
| 1848 | } | - |
| 1849 | } never executed: end of block | 0 |
| 1850 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u32(m, n)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1851 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_stringb(m, b)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1852 | sshbuf_free(b); | - |
| 1853 | return never executed: return r; r;never executed: return r; | 0 |
| 1854 | } | - |
| 1855 | | - |
| 1856 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 1857 | } | - |
| 1858 | | - |
| 1859 | static int | - |
| 1860 | deserialise_array(struct sshbuf *m, char ***ap, size_t *np) | - |
| 1861 | { | - |
| 1862 | char **a = | - |
| 1863 | ((void *)0) | - |
| 1864 | ; | - |
| 1865 | size_t i, n = 0; | - |
| 1866 | struct sshbuf *b = | - |
| 1867 | ((void *)0) | - |
| 1868 | ; | - |
| 1869 | u_int tmp; | - |
| 1870 | int r = -1; | - |
| 1871 | | - |
| 1872 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u32(m, &tmp)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1873 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_froms(m, &b)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1874 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 1875 | if (tmp > 0x7fffffff| TRUE | never evaluated | | FALSE | never evaluated |
) { | 0 |
| 1876 | r = -4; | - |
| 1877 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 1878 | } | - |
| 1879 | n = tmp; | - |
| 1880 | if (n > 0| TRUE | never evaluated | | FALSE | never evaluated |
&& (| TRUE | never evaluated | | FALSE | never evaluated |
a = calloc(n, sizeof(*a))) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1881 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1882 | ) { | - |
| 1883 | r = -2; | - |
| 1884 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 1885 | } | - |
| 1886 | for (i = 0; i < n| TRUE | never evaluated | | FALSE | never evaluated |
; i++) { | 0 |
| 1887 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_cstring(b, &a[i], | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1888 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1889 | )) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1890 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 1891 | } never executed: end of block | 0 |
| 1892 | | - |
| 1893 | r = 0; | - |
| 1894 | *ap = a; | - |
| 1895 | a = | - |
| 1896 | ((void *)0) | - |
| 1897 | ; | - |
| 1898 | *np = n; | - |
| 1899 | n = 0; | - |
| 1900 | out: code before this statement never executed: out: | 0 |
| 1901 | for (i = 0; i < n| TRUE | never evaluated | | FALSE | never evaluated |
; i++) | 0 |
| 1902 | free(a[i]); never executed: free(a[i]); | 0 |
| 1903 | free(a); | - |
| 1904 | sshbuf_free(b); | - |
| 1905 | return never executed: return r; r;never executed: return r; | 0 |
| 1906 | } | - |
| 1907 | | - |
| 1908 | static int | - |
| 1909 | serialise_nullable_string(struct sshbuf *m, const char *s) | - |
| 1910 | { | - |
| 1911 | int r; | - |
| 1912 | | - |
| 1913 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, s == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1914 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1915 | )) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1916 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_cstring(m, s)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1917 | return never executed: return r; r;never executed: return r; | 0 |
| 1918 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 1919 | } | - |
| 1920 | | - |
| 1921 | static int | - |
| 1922 | deserialise_nullable_string(struct sshbuf *m, char **sp) | - |
| 1923 | { | - |
| 1924 | int r; | - |
| 1925 | u_char flag; | - |
| 1926 | | - |
| 1927 | *sp = | - |
| 1928 | ((void *)0) | - |
| 1929 | ; | - |
| 1930 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &flag)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1931 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_cstring(m, flag ? | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1932 | ((void *)0) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1933 | : sp, | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1934 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1935 | )) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1936 | return never executed: return r; r;never executed: return r; | 0 |
| 1937 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 1938 | } | - |
| 1939 | | - |
| 1940 | int | - |
| 1941 | sshauthopt_serialise(const struct sshauthopt *opts, struct sshbuf *m, | - |
| 1942 | int untrusted) | - |
| 1943 | { | - |
| 1944 | int r = -1; | - |
| 1945 | | - |
| 1946 | | - |
| 1947 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_port_forwarding_flag)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1948 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_agent_forwarding_flag)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1949 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_x11_forwarding_flag)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1950 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_pty_flag)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1951 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_user_rc)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1952 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->restricted)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1953 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->cert_authority)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1954 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u64(m, opts->valid_before)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1955 | return never executed: return r; r;never executed: return r; | 0 |
| 1956 | | - |
| 1957 | | - |
| 1958 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->force_tun_device == -1)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1959 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_put_u32(m, (opts->force_tun_device < 0) ?| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1960 | 0 : (u_int)opts->force_tun_device)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1961 | return never executed: return r; r;never executed: return r; | 0 |
| 1962 | | - |
| 1963 | | - |
| 1964 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = serialise_nullable_string(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1965 | untrusted ? "yes" : opts->cert_principals)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1966 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = serialise_nullable_string(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1967 | untrusted ? "true" : opts->force_command)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1968 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = serialise_nullable_string(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1969 | untrusted ? | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1970 | ((void *)0) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1971 | : opts->required_from_host_cert)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1972 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = serialise_nullable_string(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1973 | untrusted ? | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1974 | ((void *)0) | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1975 | : opts->required_from_host_keys)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1976 | return never executed: return r; r;never executed: return r; | 0 |
| 1977 | | - |
| 1978 | | - |
| 1979 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = serialise_array(m, opts->env,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1980 | untrusted ? 0 : opts->nenv)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1981 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = serialise_array(m, opts->permitopen,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1982 | untrusted ? 0 : opts->npermitopen)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 1983 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = serialise_array(m, opts->permitlisten,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 1984 | untrusted ? 0 : opts->npermitlisten)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 1985 | return never executed: return r; r;never executed: return r; | 0 |
| 1986 | | - |
| 1987 | | - |
| 1988 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 1989 | } | - |
| 1990 | | - |
| 1991 | int | - |
| 1992 | sshauthopt_deserialise(struct sshbuf *m, struct sshauthopt **optsp) | - |
| 1993 | { | - |
| 1994 | struct sshauthopt *opts = | - |
| 1995 | ((void *)0) | - |
| 1996 | ; | - |
| 1997 | int r = -1; | - |
| 1998 | u_char f; | - |
| 1999 | u_int tmp; | - |
| 2000 | | - |
| 2001 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
opts = calloc(1, sizeof(*opts))) == | TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 2002 | ((void *)0)| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 2003 | ) | - |
| 2004 | return never executed: return -2; -2;never executed: return -2; | 0 |
| 2005 | | - |
| 2006 | | - |
| 2007 | | - |
| 2008 | | - |
| 2009 | | - |
| 2010 | | - |
| 2011 | | - |
| 2012 | do { if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_port_forwarding_flag = f; } while (0); | 0 |
| 2013 | do { if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_agent_forwarding_flag = f; } while (0); | 0 |
| 2014 | do { if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_x11_forwarding_flag = f; } while (0); | 0 |
| 2015 | do { if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_pty_flag = f; } while (0); | 0 |
| 2016 | do { if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_user_rc = f; } while (0); | 0 |
| 2017 | do { if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->restricted = f; } while (0); | 0 |
| 2018 | do { if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->cert_authority = f; } while (0); | 0 |
| 2019 | | - |
| 2020 | | - |
| 2021 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u64(m, &opts->valid_before)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 2022 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 2023 | | - |
| 2024 | | - |
| 2025 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 2026 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = sshbuf_get_u32(m, &tmp)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 2027 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 2028 | opts->force_tun_device = f| TRUE | never evaluated | | FALSE | never evaluated |
? -1 : (int)tmp; | 0 |
| 2029 | | - |
| 2030 | | - |
| 2031 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = deserialise_nullable_string(m, &opts->cert_principals)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 2032 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = deserialise_nullable_string(m, &opts->force_command)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 2033 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = deserialise_nullable_string(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 2034 | &opts->required_from_host_cert)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 2035 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = deserialise_nullable_string(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 2036 | &opts->required_from_host_keys)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 2037 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 2038 | | - |
| 2039 | | - |
| 2040 | if ((| TRUE | never evaluated | | FALSE | never evaluated |
r = deserialise_array(m, &opts->env, &opts->nenv)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 2041 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = deserialise_array(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 2042 | &opts->permitopen, &opts->npermitopen)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
|| | 0 |
| 2043 | (| TRUE | never evaluated | | FALSE | never evaluated |
r = deserialise_array(m,| TRUE | never evaluated | | FALSE | never evaluated |
| 0 |
| 2044 | &opts->permitlisten, &opts->npermitlisten)) != 0| TRUE | never evaluated | | FALSE | never evaluated |
) | 0 |
| 2045 | goto never executed: goto out; out;never executed: goto out; | 0 |
| 2046 | | - |
| 2047 | | - |
| 2048 | r = 0; | - |
| 2049 | *optsp = opts; | - |
| 2050 | opts = | - |
| 2051 | ((void *)0) | - |
| 2052 | ; | - |
| 2053 | out: code before this statement never executed: out: | 0 |
| 2054 | sshauthopt_free(opts); | - |
| 2055 | return never executed: return r; r;never executed: return r; | 0 |
| 2056 | } | - |
| | |