| Line | Source | Count |
| 1 | | - |
| 2 | | - |
| 3 | | - |
| 4 | static BIGNUM *srp_Calc_xy(const BIGNUM *x, const BIGNUM *y, const BIGNUM *N) | - |
| 5 | { | - |
| 6 | unsigned char digest[20]; | - |
| 7 | unsigned char *tmp = | - |
| 8 | ((void *)0) | - |
| 9 | ; | - |
| 10 | int numN = ((BN_num_bits(N)+7)/8); | - |
| 11 | BIGNUM *res = | - |
| 12 | ((void *)0) | - |
| 13 | ; | - |
| 14 | if (x != N| TRUE | evaluated 23 times by 1 test | | FALSE | evaluated 26 times by 1 test |
&& BN_ucmp(x, N) >= 0| TRUE | never evaluated | | FALSE | evaluated 23 times by 1 test |
) | 0-26 |
| 15 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 16 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 17 | ; never executed: return ((void *)0) ; | 0 |
| 18 | if (y != N| TRUE | evaluated 49 times by 1 test | | FALSE | never evaluated |
&& BN_ucmp(y, N) >= 0| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
) | 0-49 |
| 19 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 20 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 21 | ; never executed: return ((void *)0) ; | 0 |
| 22 | if ((| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
tmp = CRYPTO_malloc(numN * 2, __FILE__, 33)) == | TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 23 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 24 | ) | - |
| 25 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 26 | if (BN_bn2binpad(x, tmp, numN) < 0| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 27 | || BN_bn2binpad(y, tmp + numN, numN) < 0| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 28 | || !EVP_Digest(tmp, numN * 2, digest, | TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 29 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 30 | , EVP_sha1(), | TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 31 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
| 0-49 |
| 32 | )| TRUE | never evaluated | | FALSE | evaluated 49 times by 1 test |
) | 0-49 |
| 33 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 34 | res = BN_bin2bn(digest, sizeof(digest), | - |
| 35 | ((void *)0) | - |
| 36 | ); | - |
| 37 | err:code before this statement executed 49 times by 1 test: err: | 49 |
| 38 | CRYPTO_free(tmp, __FILE__, 41); | - |
| 39 | returnexecuted 49 times by 1 test: return res; res;executed 49 times by 1 test: return res; | 49 |
| 40 | } | - |
| 41 | | - |
| 42 | static BIGNUM *srp_Calc_k(const BIGNUM *N, const BIGNUM *g) | - |
| 43 | { | - |
| 44 | | - |
| 45 | returnexecuted 26 times by 1 test: return srp_Calc_xy(N, g, N); srp_Calc_xy(N, g, N);executed 26 times by 1 test: return srp_Calc_xy(N, g, N); | 26 |
| 46 | } | - |
| 47 | | - |
| 48 | BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N) | - |
| 49 | { | - |
| 50 | | - |
| 51 | returnexecuted 23 times by 1 test: return srp_Calc_xy(A, B, N); srp_Calc_xy(A, B, N);executed 23 times by 1 test: return srp_Calc_xy(A, B, N); | 23 |
| 52 | } | - |
| 53 | | - |
| 54 | BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const BIGNUM *u, | - |
| 55 | const BIGNUM *b, const BIGNUM *N) | - |
| 56 | { | - |
| 57 | BIGNUM *tmp = | - |
| 58 | ((void *)0) | - |
| 59 | , *S = | - |
| 60 | ((void *)0) | - |
| 61 | ; | - |
| 62 | BN_CTX *bn_ctx; | - |
| 63 | | - |
| 64 | if (u == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 65 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 66 | || A == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 67 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 68 | || v == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 69 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 70 | || b == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 71 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 72 | || N == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 73 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 74 | ) | - |
| 75 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 76 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 77 | ; never executed: return ((void *)0) ; | 0 |
| 78 | | - |
| 79 | if ((| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
bn_ctx = BN_CTX_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 80 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 81 | || (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
tmp = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 82 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 83 | ) | - |
| 84 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 85 | | - |
| 86 | | - |
| 87 | | - |
| 88 | if (!BN_mod_exp(tmp, v, u, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) | 0-13 |
| 89 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 90 | if (!BN_mod_mul(tmp, A, tmp, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) | 0-13 |
| 91 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 92 | | - |
| 93 | S = BN_new(); | - |
| 94 | if (S != | TRUE | evaluated 13 times by 1 test | | FALSE | never evaluated |
| 0-13 |
| 95 | ((void *)0)| TRUE | evaluated 13 times by 1 test | | FALSE | never evaluated |
| 0-13 |
| 96 | && !BN_mod_exp(S, tmp, b, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) { | 0-13 |
| 97 | BN_free(S); | - |
| 98 | S = | - |
| 99 | ((void *)0) | - |
| 100 | ; | - |
| 101 | } never executed: end of block | 0 |
| 102 | err:code before this statement executed 13 times by 1 test: err: | 13 |
| 103 | BN_CTX_free(bn_ctx); | - |
| 104 | BN_clear_free(tmp); | - |
| 105 | returnexecuted 13 times by 1 test: return S; S;executed 13 times by 1 test: return S; | 13 |
| 106 | } | - |
| 107 | | - |
| 108 | BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g, | - |
| 109 | const BIGNUM *v) | - |
| 110 | { | - |
| 111 | BIGNUM *kv = | - |
| 112 | ((void *)0) | - |
| 113 | , *gb = | - |
| 114 | ((void *)0) | - |
| 115 | ; | - |
| 116 | BIGNUM *B = | - |
| 117 | ((void *)0) | - |
| 118 | , *k = | - |
| 119 | ((void *)0) | - |
| 120 | ; | - |
| 121 | BN_CTX *bn_ctx; | - |
| 122 | | - |
| 123 | if (b == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 124 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 125 | || N == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 126 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 127 | || g == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 128 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 129 | || v == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 130 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 131 | || | - |
| 132 | (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
bn_ctx = BN_CTX_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 133 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 134 | ) | - |
| 135 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 136 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 137 | ; never executed: return ((void *)0) ; | 0 |
| 138 | | - |
| 139 | if ((| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
kv = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 140 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 141 | || | - |
| 142 | (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
gb = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 143 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 144 | || (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
B = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 145 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 146 | ) | - |
| 147 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 148 | | - |
| 149 | | - |
| 150 | | - |
| 151 | if (!BN_mod_exp(gb, g, b, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 152 | || (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
k = srp_Calc_k(N, g)) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 153 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 154 | | - |
| 155 | || !BN_mod_mul(kv, v, k, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 156 | || !BN_mod_add(B, gb, kv, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) { | 0-13 |
| 157 | BN_free(B); | - |
| 158 | B = | - |
| 159 | ((void *)0) | - |
| 160 | ; | - |
| 161 | } never executed: end of block | 0 |
| 162 | err:code before this statement executed 13 times by 1 test: err: | 13 |
| 163 | BN_CTX_free(bn_ctx); | - |
| 164 | BN_clear_free(kv); | - |
| 165 | BN_clear_free(gb); | - |
| 166 | BN_free(k); | - |
| 167 | returnexecuted 13 times by 1 test: return B; B;executed 13 times by 1 test: return B; | 13 |
| 168 | } | - |
| 169 | | - |
| 170 | BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass) | - |
| 171 | { | - |
| 172 | unsigned char dig[20]; | - |
| 173 | EVP_MD_CTX *ctxt; | - |
| 174 | unsigned char *cs = | - |
| 175 | ((void *)0) | - |
| 176 | ; | - |
| 177 | BIGNUM *res = | - |
| 178 | ((void *)0) | - |
| 179 | ; | - |
| 180 | | - |
| 181 | if ((| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
s == | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 182 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 183 | )| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
|| (| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
user == | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 184 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 185 | )| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
|| (| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
pass == | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 186 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 187 | )| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
) | 0-24 |
| 188 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 189 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 190 | ; never executed: return ((void *)0) ; | 0 |
| 191 | | - |
| 192 | ctxt = EVP_MD_CTX_new(); | - |
| 193 | if (ctxt == | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 194 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 195 | ) | - |
| 196 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 197 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 198 | ; never executed: return ((void *)0) ; | 0 |
| 199 | if ((| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
cs = CRYPTO_malloc(((BN_num_bits(s)+7)/8), __FILE__, 132)) == | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 200 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 201 | ) | - |
| 202 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 203 | | - |
| 204 | if (!EVP_DigestInit_ex(ctxt, EVP_sha1(), | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 205 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 206 | )| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 207 | || !EVP_DigestUpdate(ctxt, user, strlen(user))| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 208 | || !EVP_DigestUpdate(ctxt, ":", 1)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 209 | || !EVP_DigestUpdate(ctxt, pass, strlen(pass))| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 210 | || !EVP_DigestFinal_ex(ctxt, dig, | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 211 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 212 | )| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 213 | || !EVP_DigestInit_ex(ctxt, EVP_sha1(), | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 214 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 215 | )| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
) | 0-24 |
| 216 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 217 | BN_bn2bin(s, cs); | - |
| 218 | if (!EVP_DigestUpdate(ctxt, cs, ((BN_num_bits(s)+7)/8))| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
) | 0-24 |
| 219 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 220 | | - |
| 221 | if (!EVP_DigestUpdate(ctxt, dig, sizeof(dig))| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 222 | || !EVP_DigestFinal_ex(ctxt, dig, | TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 223 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
| 0-24 |
| 224 | )| TRUE | never evaluated | | FALSE | evaluated 24 times by 1 test |
) | 0-24 |
| 225 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 226 | | - |
| 227 | res = BN_bin2bn(dig, sizeof(dig), | - |
| 228 | ((void *)0) | - |
| 229 | ); | - |
| 230 | | - |
| 231 | err:code before this statement executed 24 times by 1 test: err: | 24 |
| 232 | CRYPTO_free(cs, __FILE__, 153); | - |
| 233 | EVP_MD_CTX_free(ctxt); | - |
| 234 | returnexecuted 24 times by 1 test: return res; res;executed 24 times by 1 test: return res; | 24 |
| 235 | } | - |
| 236 | | - |
| 237 | BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g) | - |
| 238 | { | - |
| 239 | BN_CTX *bn_ctx; | - |
| 240 | BIGNUM *A = | - |
| 241 | ((void *)0) | - |
| 242 | ; | - |
| 243 | | - |
| 244 | if (a == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 245 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 246 | || N == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 247 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 248 | || g == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 249 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 250 | || (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
bn_ctx = BN_CTX_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 251 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 252 | ) | - |
| 253 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 254 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 255 | ; never executed: return ((void *)0) ; | 0 |
| 256 | | - |
| 257 | if ((| TRUE | evaluated 13 times by 1 test | | FALSE | never evaluated |
A = BN_new()) != | TRUE | evaluated 13 times by 1 test | | FALSE | never evaluated |
| 0-13 |
| 258 | ((void *)0)| TRUE | evaluated 13 times by 1 test | | FALSE | never evaluated |
| 0-13 |
| 259 | && !BN_mod_exp(A, g, a, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) { | 0-13 |
| 260 | BN_free(A); | - |
| 261 | A = | - |
| 262 | ((void *)0) | - |
| 263 | ; | - |
| 264 | } never executed: end of block | 0 |
| 265 | BN_CTX_free(bn_ctx); | - |
| 266 | returnexecuted 13 times by 1 test: return A; A;executed 13 times by 1 test: return A; | 13 |
| 267 | } | - |
| 268 | | - |
| 269 | BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g, | - |
| 270 | const BIGNUM *x, const BIGNUM *a, const BIGNUM *u) | - |
| 271 | { | - |
| 272 | BIGNUM *tmp = | - |
| 273 | ((void *)0) | - |
| 274 | , *tmp2 = | - |
| 275 | ((void *)0) | - |
| 276 | , *tmp3 = | - |
| 277 | ((void *)0) | - |
| 278 | , *k = | - |
| 279 | ((void *)0) | - |
| 280 | , *K = | - |
| 281 | ((void *)0) | - |
| 282 | ; | - |
| 283 | BN_CTX *bn_ctx; | - |
| 284 | | - |
| 285 | if (u == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 286 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 287 | || B == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 288 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 289 | || N == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 290 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 291 | || g == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 292 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 293 | || x == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 294 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 295 | | - |
| 296 | || a == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 297 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 298 | || (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
bn_ctx = BN_CTX_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 299 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 300 | ) | - |
| 301 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 302 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 303 | ; never executed: return ((void *)0) ; | 0 |
| 304 | | - |
| 305 | if ((| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
tmp = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 306 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 307 | || | - |
| 308 | (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
tmp2 = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 309 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 310 | || | - |
| 311 | (| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
tmp3 = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 312 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 313 | ) | - |
| 314 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 315 | | - |
| 316 | if (!BN_mod_exp(tmp, g, x, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) | 0-13 |
| 317 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 318 | if ((| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
k = srp_Calc_k(N, g)) == | TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 319 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
| 0-13 |
| 320 | ) | - |
| 321 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 322 | if (!BN_mod_mul(tmp2, tmp, k, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) | 0-13 |
| 323 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 324 | if (!BN_mod_sub(tmp, B, tmp2, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) | 0-13 |
| 325 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 326 | if (!BN_mul(tmp3, u, x, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) | 0-13 |
| 327 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 328 | if (!BN_add(tmp2, a, tmp3)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) | 0-13 |
| 329 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 330 | K = BN_new(); | - |
| 331 | if (K != | TRUE | evaluated 13 times by 1 test | | FALSE | never evaluated |
| 0-13 |
| 332 | ((void *)0)| TRUE | evaluated 13 times by 1 test | | FALSE | never evaluated |
| 0-13 |
| 333 | && !BN_mod_exp(K, tmp, tmp2, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 13 times by 1 test |
) { | 0-13 |
| 334 | BN_free(K); | - |
| 335 | K = | - |
| 336 | ((void *)0) | - |
| 337 | ; | - |
| 338 | } never executed: end of block | 0 |
| 339 | | - |
| 340 | err:code before this statement executed 13 times by 1 test: err: | 13 |
| 341 | BN_CTX_free(bn_ctx); | - |
| 342 | BN_clear_free(tmp); | - |
| 343 | BN_clear_free(tmp2); | - |
| 344 | BN_clear_free(tmp3); | - |
| 345 | BN_free(k); | - |
| 346 | returnexecuted 13 times by 1 test: return K; K;executed 13 times by 1 test: return K; | 13 |
| 347 | } | - |
| 348 | | - |
| 349 | int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N) | - |
| 350 | { | - |
| 351 | BIGNUM *r; | - |
| 352 | BN_CTX *bn_ctx; | - |
| 353 | int ret = 0; | - |
| 354 | | - |
| 355 | if (B == | TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 356 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 357 | || N == | TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 358 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 359 | || (| TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
bn_ctx = BN_CTX_new()) == | TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 360 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 361 | ) | - |
| 362 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 363 | | - |
| 364 | if ((| TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
r = BN_new()) == | TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 365 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
| 0-26 |
| 366 | ) | - |
| 367 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 368 | | - |
| 369 | if (!BN_nnmod(r, B, N, bn_ctx)| TRUE | never evaluated | | FALSE | evaluated 26 times by 1 test |
) | 0-26 |
| 370 | goto never executed: goto err; err;never executed: goto err; | 0 |
| 371 | ret = !BN_is_zero(r); | - |
| 372 | err:code before this statement executed 26 times by 1 test: err: | 26 |
| 373 | BN_CTX_free(bn_ctx); | - |
| 374 | BN_free(r); | - |
| 375 | returnexecuted 26 times by 1 test: return ret; ret;executed 26 times by 1 test: return ret; | 26 |
| 376 | } | - |
| 377 | | - |
| 378 | int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N) | - |
| 379 | { | - |
| 380 | | - |
| 381 | returnexecuted 13 times by 1 test: return SRP_Verify_B_mod_N(A, N); SRP_Verify_B_mod_N(A, N);executed 13 times by 1 test: return SRP_Verify_B_mod_N(A, N); | 13 |
| 382 | } | - |
| 383 | | - |
| 384 | static SRP_gN knowngN[] = { | - |
| 385 | {"8192", &bn_generator_19, &bn_group_8192}, | - |
| 386 | {"6144", &bn_generator_5, &bn_group_6144}, | - |
| 387 | {"4096", &bn_generator_5, &bn_group_4096}, | - |
| 388 | {"3072", &bn_generator_5, &bn_group_3072}, | - |
| 389 | {"2048", &bn_generator_2, &bn_group_2048}, | - |
| 390 | {"1536", &bn_generator_2, &bn_group_1536}, | - |
| 391 | {"1024", &bn_generator_2, &bn_group_1024}, | - |
| 392 | }; | - |
| 393 | | - |
| 394 | | - |
| 395 | | - |
| 396 | | - |
| 397 | | - |
| 398 | | - |
| 399 | | - |
| 400 | char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N) | - |
| 401 | { | - |
| 402 | size_t i; | - |
| 403 | if ((| TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
g == | TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
| 0-10 |
| 404 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
| 0-10 |
| 405 | )| TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
|| (| TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
N == | TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
| 0-10 |
| 406 | ((void *)0)| TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
| 0-10 |
| 407 | )| TRUE | never evaluated | | FALSE | evaluated 10 times by 1 test |
) | 0-10 |
| 408 | return never executed: return 0; 0;never executed: return 0; | 0 |
| 409 | | - |
| 410 | for (i = 0; i < sizeof(knowngN) / sizeof(SRP_gN)| TRUE | evaluated 26 times by 1 test | | FALSE | never evaluated |
; i++) { | 0-26 |
| 411 | if (BN_cmp(knowngN[i].g, g) == 0| TRUE | evaluated 10 times by 1 test | | FALSE | evaluated 16 times by 1 test |
&& BN_cmp(knowngN[i].N, N) == 0| TRUE | evaluated 10 times by 1 test | | FALSE | never evaluated |
) | 0-16 |
| 412 | returnexecuted 10 times by 1 test: return knowngN[i].id; knowngN[i].id;executed 10 times by 1 test: return knowngN[i].id; | 10 |
| 413 | }executed 16 times by 1 test: end of block | 16 |
| 414 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 415 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 416 | ; never executed: return ((void *)0) ; | 0 |
| 417 | } | - |
| 418 | | - |
| 419 | SRP_gN *SRP_get_default_gN(const char *id) | - |
| 420 | { | - |
| 421 | size_t i; | - |
| 422 | | - |
| 423 | if (id == | TRUE | evaluated 4 times by 1 test | | FALSE | evaluated 11 times by 1 test |
| 4-11 |
| 424 | ((void *)0)| TRUE | evaluated 4 times by 1 test | | FALSE | evaluated 11 times by 1 test |
| 4-11 |
| 425 | ) | - |
| 426 | returnexecuted 4 times by 1 test: return knowngN; knowngN;executed 4 times by 1 test: return knowngN; | 4 |
| 427 | for (i = 0; i < sizeof(knowngN) / sizeof(SRP_gN)| TRUE | evaluated 45 times by 1 test | | FALSE | never evaluated |
; i++) { | 0-45 |
| 428 | if ( | - |
| 429 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 430 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 431 | ) && __builtin_constant_p (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 432 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 433 | ) && (__s1_len = __builtin_strlen (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 434 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 435 | ), __s2_len = __builtin_strlen (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 436 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 437 | ), (!((size_t)(const void *)((| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 438 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 439 | ) + 1) - (size_t)(const void *)(| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 440 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 441 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 442 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 443 | ) + 1) - (size_t)(const void *)(| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 444 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 445 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 446 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 447 | , | TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 448 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 449 | ) : (__builtin_constant_p (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 450 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 451 | ) && ((size_t)(const void *)((| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 452 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 453 | ) + 1) - (size_t)(const void *)(| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 454 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 455 | ) == 1) && (__s1_len = __builtin_strlen (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 456 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 457 | ), __s1_len < 4) ? (__builtin_constant_p (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 458 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 459 | ) && ((size_t)(const void *)((| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 460 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 461 | ) + 1) - (size_t)(const void *)(| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 462 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 463 | ) == 1) ? __builtin_strcmp (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 464 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 465 | , | TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 466 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 467 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 468 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 469 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 470 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 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 | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 472 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 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 | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 474 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 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 *) ( knowngN[i].id ))[3] - __s2[3]); | TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 476 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( knowngN[i].id ))[3] - __s2[3]); | 0-34 |
| 477 | ))[3] - __s2[3]);| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( knowngN[i].id ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : (__builtin_constant_p (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 478 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 479 | ) && ((size_t)(const void *)((| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 480 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 481 | ) + 1) - (size_t)(const void *)(| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 482 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 483 | ) == 1) && (__s2_len = __builtin_strlen (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 484 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 485 | ), __s2_len < 4) ? (__builtin_constant_p (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 486 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 487 | ) && ((size_t)(const void *)((| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 488 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 489 | ) + 1) - (size_t)(const void *)(| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 490 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 491 | ) == 1) ? __builtin_strcmp (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 492 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 493 | , | TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 494 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 495 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 496 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 497 | ); int __result = (((const unsigned char *) (const char *) (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 498 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 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 | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 500 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 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 | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 502 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 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 *) ( id ))[3] - __s2[3]); | TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 504 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( id ))[3] - __s2[3]); | 0-34 |
| 505 | ))[3] - __s2[3]);| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
never executed: __result = (((const unsigned char *) (const char *) ( id ))[3] - __s2[3]); }never executed: end of block }never executed: end of block __result; }))) : __builtin_strcmp (| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 0-34 |
| 506 | knowngN[i].id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 507 | , | TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 508 | id| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 509 | )))); }) | TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
| 11-34 |
| 510 | == 0| TRUE | evaluated 11 times by 1 test | | FALSE | evaluated 34 times by 1 test |
) | 11-34 |
| 511 | returnexecuted 11 times by 1 test: return knowngN + i; knowngN + i;executed 11 times by 1 test: return knowngN + i; | 11 |
| 512 | }executed 34 times by 1 test: end of block | 34 |
| 513 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
| 514 | ((void *)0) never executed: return ((void *)0) ; | 0 |
| 515 | ; never executed: return ((void *)0) ; | 0 |
| 516 | } | - |
| | |