| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/ssl/s3_enc.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||||||||
| 2 | - | |||||||||||||
| 3 | static int ssl3_generate_key_block(SSL *s, unsigned char *km, int num) | - | ||||||||||||
| 4 | { | - | ||||||||||||
| 5 | EVP_MD_CTX *m5; | - | ||||||||||||
| 6 | EVP_MD_CTX *s1; | - | ||||||||||||
| 7 | unsigned char buf[16], smd[20]; | - | ||||||||||||
| 8 | unsigned char c = 'A'; | - | ||||||||||||
| 9 | unsigned int i, j, k; | - | ||||||||||||
| 10 | int ret = 0; | - | ||||||||||||
| 11 | - | |||||||||||||
| 12 | - | |||||||||||||
| 13 | - | |||||||||||||
| 14 | - | |||||||||||||
| 15 | k = 0; | - | ||||||||||||
| 16 | m5 = EVP_MD_CTX_new(); | - | ||||||||||||
| 17 | s1 = EVP_MD_CTX_new(); | - | ||||||||||||
| 18 | if (m5 ==
| 0 | ||||||||||||
| 19 | ((void *)0)
| 0 | ||||||||||||
| 20 | || s1 ==
| 0 | ||||||||||||
| 21 | ((void *)0)
| 0 | ||||||||||||
| 22 | ) { | - | ||||||||||||
| 23 | ossl_statem_fatal((s), (80), (238), ((1|64)), | - | ||||||||||||
| 24 | __FILE__ | - | ||||||||||||
| 25 | , | - | ||||||||||||
| 26 | 34 | - | ||||||||||||
| 27 | ) | - | ||||||||||||
| 28 | ; | - | ||||||||||||
| 29 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 30 | } | - | ||||||||||||
| 31 | EVP_MD_CTX_set_flags(m5, 0x0008); | - | ||||||||||||
| 32 | for (i = 0; (
| 0 | ||||||||||||
| 33 | k++; | - | ||||||||||||
| 34 | if (k > sizeof(buf)
| 0 | ||||||||||||
| 35 | - | |||||||||||||
| 36 | ossl_statem_fatal((s), (80), (238), ((4|64)), | - | ||||||||||||
| 37 | __FILE__ | - | ||||||||||||
| 38 | , | - | ||||||||||||
| 39 | 43 | - | ||||||||||||
| 40 | ) | - | ||||||||||||
| 41 | ; | - | ||||||||||||
| 42 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 43 | } | - | ||||||||||||
| 44 | - | |||||||||||||
| 45 | for (j = 0; j < k
| 0 | ||||||||||||
| 46 | buf[j] = c; never executed: buf[j] = c; | 0 | ||||||||||||
| 47 | c++; | - | ||||||||||||
| 48 | if (!EVP_DigestInit_ex(s1, EVP_sha1(),
| 0 | ||||||||||||
| 49 | ((void *)0)
| 0 | ||||||||||||
| 50 | )
| 0 | ||||||||||||
| 51 | || !EVP_DigestUpdate(s1, buf, k)
| 0 | ||||||||||||
| 52 | || !EVP_DigestUpdate(s1, s->session->master_key,
| 0 | ||||||||||||
| 53 | s->session->master_key_length)
| 0 | ||||||||||||
| 54 | || !EVP_DigestUpdate(s1, s->s3->server_random, 32)
| 0 | ||||||||||||
| 55 | || !EVP_DigestUpdate(s1, s->s3->client_random, 32)
| 0 | ||||||||||||
| 56 | || !EVP_DigestFinal_ex(s1, smd,
| 0 | ||||||||||||
| 57 | ((void *)0)
| 0 | ||||||||||||
| 58 | )
| 0 | ||||||||||||
| 59 | || !EVP_DigestInit_ex(m5, EVP_md5(),
| 0 | ||||||||||||
| 60 | ((void *)0)
| 0 | ||||||||||||
| 61 | )
| 0 | ||||||||||||
| 62 | || !EVP_DigestUpdate(m5, s->session->master_key,
| 0 | ||||||||||||
| 63 | s->session->master_key_length)
| 0 | ||||||||||||
| 64 | || !EVP_DigestUpdate(m5, smd, 20)
| 0 | ||||||||||||
| 65 | ossl_statem_fatal((s), (80), (238), ((4|64)), | - | ||||||||||||
| 66 | __FILE__ | - | ||||||||||||
| 67 | , | - | ||||||||||||
| 68 | 62 | - | ||||||||||||
| 69 | ) | - | ||||||||||||
| 70 | ; | - | ||||||||||||
| 71 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 72 | } | - | ||||||||||||
| 73 | if ((
| 0 | ||||||||||||
| 74 | if (!EVP_DigestFinal_ex(m5, smd,
| 0 | ||||||||||||
| 75 | ((void *)0)
| 0 | ||||||||||||
| 76 | )
| 0 | ||||||||||||
| 77 | ossl_statem_fatal((s), (80), (238), ((4|64)), | - | ||||||||||||
| 78 | __FILE__ | - | ||||||||||||
| 79 | , | - | ||||||||||||
| 80 | 68 | - | ||||||||||||
| 81 | ) | - | ||||||||||||
| 82 | ; | - | ||||||||||||
| 83 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 84 | } | - | ||||||||||||
| 85 | memcpy(km, smd, (num - i)); | - | ||||||||||||
| 86 | } never executed: else {end of block | 0 | ||||||||||||
| 87 | if (!EVP_DigestFinal_ex(m5, km,
| 0 | ||||||||||||
| 88 | ((void *)0)
| 0 | ||||||||||||
| 89 | )
| 0 | ||||||||||||
| 90 | ossl_statem_fatal((s), (80), (238), ((4|64)), | - | ||||||||||||
| 91 | __FILE__ | - | ||||||||||||
| 92 | , | - | ||||||||||||
| 93 | 75 | - | ||||||||||||
| 94 | ) | - | ||||||||||||
| 95 | ; | - | ||||||||||||
| 96 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 97 | } | - | ||||||||||||
| 98 | } never executed: end of block | 0 | ||||||||||||
| 99 | - | |||||||||||||
| 100 | km += 16; | - | ||||||||||||
| 101 | } never executed: end of block | 0 | ||||||||||||
| 102 | OPENSSL_cleanse(smd, sizeof(smd)); | - | ||||||||||||
| 103 | ret = 1; | - | ||||||||||||
| 104 | err: code before this statement never executed: err: | 0 | ||||||||||||
| 105 | EVP_MD_CTX_free(m5); | - | ||||||||||||
| 106 | EVP_MD_CTX_free(s1); | - | ||||||||||||
| 107 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||
| 108 | } | - | ||||||||||||
| 109 | - | |||||||||||||
| 110 | int ssl3_change_cipher_state(SSL *s, int which) | - | ||||||||||||
| 111 | { | - | ||||||||||||
| 112 | unsigned char *p, *mac_secret; | - | ||||||||||||
| 113 | unsigned char exp_key[64]; | - | ||||||||||||
| 114 | unsigned char exp_iv[16]; | - | ||||||||||||
| 115 | unsigned char *ms, *key, *iv; | - | ||||||||||||
| 116 | EVP_CIPHER_CTX *dd; | - | ||||||||||||
| 117 | const EVP_CIPHER *c; | - | ||||||||||||
| 118 | - | |||||||||||||
| 119 | COMP_METHOD *comp; | - | ||||||||||||
| 120 | - | |||||||||||||
| 121 | const EVP_MD *m; | - | ||||||||||||
| 122 | int mdi; | - | ||||||||||||
| 123 | size_t n, i, j, k, cl; | - | ||||||||||||
| 124 | int reuse_dd = 0; | - | ||||||||||||
| 125 | - | |||||||||||||
| 126 | c = s->s3->tmp.new_sym_enc; | - | ||||||||||||
| 127 | m = s->s3->tmp.new_hash; | - | ||||||||||||
| 128 | - | |||||||||||||
| 129 | if (!((m !=
| 0 | ||||||||||||
| 130 | ((void *)0)
| 0 | ||||||||||||
| 131 | ) != 0)
| 0 | ||||||||||||
| 132 | ossl_statem_fatal((s), (80), (129), ((4|64)), | - | ||||||||||||
| 133 | __FILE__ | - | ||||||||||||
| 134 | , | - | ||||||||||||
| 135 | 111 | - | ||||||||||||
| 136 | ) | - | ||||||||||||
| 137 | ; | - | ||||||||||||
| 138 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 139 | } | - | ||||||||||||
| 140 | - | |||||||||||||
| 141 | if (s->s3->tmp.new_compression ==
| 0 | ||||||||||||
| 142 | ((void *)0)
| 0 | ||||||||||||
| 143 | ) | - | ||||||||||||
| 144 | comp = never executed: comp = ((void *)0) ; | 0 | ||||||||||||
| 145 | ((void *)0) never executed: comp = ((void *)0) ; | 0 | ||||||||||||
| 146 | ; never executed: comp = ((void *)0) ; | 0 | ||||||||||||
| 147 | else | - | ||||||||||||
| 148 | comp = s->s3->tmp.new_compression->method; never executed: comp = s->s3->tmp.new_compression->method; | 0 | ||||||||||||
| 149 | - | |||||||||||||
| 150 | - | |||||||||||||
| 151 | if (which & 0x001
| 0 | ||||||||||||
| 152 | if (s->enc_read_ctx !=
| 0 | ||||||||||||
| 153 | ((void *)0)
| 0 | ||||||||||||
| 154 | ) { | - | ||||||||||||
| 155 | reuse_dd = 1; | - | ||||||||||||
| 156 | } never executed: else if ((end of block
| 0 | ||||||||||||
| 157 | ((void *)0)
| 0 | ||||||||||||
| 158 | ) { | - | ||||||||||||
| 159 | ossl_statem_fatal((s), (80), (129), ((1|64)), | - | ||||||||||||
| 160 | __FILE__ | - | ||||||||||||
| 161 | , | - | ||||||||||||
| 162 | 126 | - | ||||||||||||
| 163 | ) | - | ||||||||||||
| 164 | ; | - | ||||||||||||
| 165 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 166 | } else { | - | ||||||||||||
| 167 | - | |||||||||||||
| 168 | - | |||||||||||||
| 169 | - | |||||||||||||
| 170 | EVP_CIPHER_CTX_reset(s->enc_read_ctx); | - | ||||||||||||
| 171 | } never executed: end of block | 0 | ||||||||||||
| 172 | dd = s->enc_read_ctx; | - | ||||||||||||
| 173 | - | |||||||||||||
| 174 | if (ssl_replace_hash(&s->read_hash, m) ==
| 0 | ||||||||||||
| 175 | ((void *)0)
| 0 | ||||||||||||
| 176 | ) { | - | ||||||||||||
| 177 | ossl_statem_fatal((s), (80), (129), ((4|64)), | - | ||||||||||||
| 178 | __FILE__ | - | ||||||||||||
| 179 | , | - | ||||||||||||
| 180 | 138 | - | ||||||||||||
| 181 | ) | - | ||||||||||||
| 182 | ; | - | ||||||||||||
| 183 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 184 | } | - | ||||||||||||
| 185 | - | |||||||||||||
| 186 | - | |||||||||||||
| 187 | COMP_CTX_free(s->expand); | - | ||||||||||||
| 188 | s->expand = | - | ||||||||||||
| 189 | ((void *)0) | - | ||||||||||||
| 190 | ; | - | ||||||||||||
| 191 | if (comp !=
| 0 | ||||||||||||
| 192 | ((void *)0)
| 0 | ||||||||||||
| 193 | ) { | - | ||||||||||||
| 194 | s->expand = COMP_CTX_new(comp); | - | ||||||||||||
| 195 | if (s->expand ==
| 0 | ||||||||||||
| 196 | ((void *)0)
| 0 | ||||||||||||
| 197 | ) { | - | ||||||||||||
| 198 | ossl_statem_fatal((s), (80), (129), (142), | - | ||||||||||||
| 199 | - | |||||||||||||
| 200 | __FILE__ | - | ||||||||||||
| 201 | , | - | ||||||||||||
| 202 | - | |||||||||||||
| 203 | 150 | - | ||||||||||||
| 204 | ) | - | ||||||||||||
| 205 | - | |||||||||||||
| 206 | ; | - | ||||||||||||
| 207 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 208 | } | - | ||||||||||||
| 209 | } never executed: end of block | 0 | ||||||||||||
| 210 | - | |||||||||||||
| 211 | RECORD_LAYER_reset_read_sequence(&s->rlayer); | - | ||||||||||||
| 212 | mac_secret = &(s->s3->read_mac_secret[0]); | - | ||||||||||||
| 213 | } never executed: else {end of block | 0 | ||||||||||||
| 214 | s->statem.enc_write_state = ENC_WRITE_STATE_INVALID; | - | ||||||||||||
| 215 | if (s->enc_write_ctx !=
| 0 | ||||||||||||
| 216 | ((void *)0)
| 0 | ||||||||||||
| 217 | ) { | - | ||||||||||||
| 218 | reuse_dd = 1; | - | ||||||||||||
| 219 | } never executed: else if ((end of block
| 0 | ||||||||||||
| 220 | ((void *)0)
| 0 | ||||||||||||
| 221 | ) { | - | ||||||||||||
| 222 | ossl_statem_fatal((s), (80), (129), ((1|64)), | - | ||||||||||||
| 223 | __FILE__ | - | ||||||||||||
| 224 | , | - | ||||||||||||
| 225 | 163 | - | ||||||||||||
| 226 | ) | - | ||||||||||||
| 227 | ; | - | ||||||||||||
| 228 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 229 | } else { | - | ||||||||||||
| 230 | - | |||||||||||||
| 231 | - | |||||||||||||
| 232 | - | |||||||||||||
| 233 | EVP_CIPHER_CTX_reset(s->enc_write_ctx); | - | ||||||||||||
| 234 | } never executed: end of block | 0 | ||||||||||||
| 235 | dd = s->enc_write_ctx; | - | ||||||||||||
| 236 | if (ssl_replace_hash(&s->write_hash, m) ==
| 0 | ||||||||||||
| 237 | ((void *)0)
| 0 | ||||||||||||
| 238 | ) { | - | ||||||||||||
| 239 | ossl_statem_fatal((s), (80), (129), ((1|64)), | - | ||||||||||||
| 240 | __FILE__ | - | ||||||||||||
| 241 | , | - | ||||||||||||
| 242 | 174 | - | ||||||||||||
| 243 | ) | - | ||||||||||||
| 244 | ; | - | ||||||||||||
| 245 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 246 | } | - | ||||||||||||
| 247 | - | |||||||||||||
| 248 | - | |||||||||||||
| 249 | COMP_CTX_free(s->compress); | - | ||||||||||||
| 250 | s->compress = | - | ||||||||||||
| 251 | ((void *)0) | - | ||||||||||||
| 252 | ; | - | ||||||||||||
| 253 | if (comp !=
| 0 | ||||||||||||
| 254 | ((void *)0)
| 0 | ||||||||||||
| 255 | ) { | - | ||||||||||||
| 256 | s->compress = COMP_CTX_new(comp); | - | ||||||||||||
| 257 | if (s->compress ==
| 0 | ||||||||||||
| 258 | ((void *)0)
| 0 | ||||||||||||
| 259 | ) { | - | ||||||||||||
| 260 | ossl_statem_fatal((s), (80), (129), (142), | - | ||||||||||||
| 261 | - | |||||||||||||
| 262 | __FILE__ | - | ||||||||||||
| 263 | , | - | ||||||||||||
| 264 | - | |||||||||||||
| 265 | 186 | - | ||||||||||||
| 266 | ) | - | ||||||||||||
| 267 | - | |||||||||||||
| 268 | ; | - | ||||||||||||
| 269 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 270 | } | - | ||||||||||||
| 271 | } never executed: end of block | 0 | ||||||||||||
| 272 | - | |||||||||||||
| 273 | RECORD_LAYER_reset_write_sequence(&s->rlayer); | - | ||||||||||||
| 274 | mac_secret = &(s->s3->write_mac_secret[0]); | - | ||||||||||||
| 275 | } never executed: end of block | 0 | ||||||||||||
| 276 | - | |||||||||||||
| 277 | if (reuse_dd
| 0 | ||||||||||||
| 278 | EVP_CIPHER_CTX_reset(dd); never executed: EVP_CIPHER_CTX_reset(dd); | 0 | ||||||||||||
| 279 | - | |||||||||||||
| 280 | p = s->s3->tmp.key_block; | - | ||||||||||||
| 281 | mdi = EVP_MD_size(m); | - | ||||||||||||
| 282 | if (mdi < 0
| 0 | ||||||||||||
| 283 | ossl_statem_fatal((s), (80), (129), ((4|64)), | - | ||||||||||||
| 284 | __FILE__ | - | ||||||||||||
| 285 | , | - | ||||||||||||
| 286 | 202 | - | ||||||||||||
| 287 | ) | - | ||||||||||||
| 288 | ; | - | ||||||||||||
| 289 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 290 | } | - | ||||||||||||
| 291 | i = mdi; | - | ||||||||||||
| 292 | cl = EVP_CIPHER_key_length(c); | - | ||||||||||||
| 293 | j = cl; | - | ||||||||||||
| 294 | k = EVP_CIPHER_iv_length(c); | - | ||||||||||||
| 295 | if ((
| 0 | ||||||||||||
| 296 | (
| 0 | ||||||||||||
| 297 | ms = &(p[0]); | - | ||||||||||||
| 298 | n = i + i; | - | ||||||||||||
| 299 | key = &(p[n]); | - | ||||||||||||
| 300 | n += j + j; | - | ||||||||||||
| 301 | iv = &(p[n]); | - | ||||||||||||
| 302 | n += k + k; | - | ||||||||||||
| 303 | } never executed: else {end of block | 0 | ||||||||||||
| 304 | n = i; | - | ||||||||||||
| 305 | ms = &(p[n]); | - | ||||||||||||
| 306 | n += i + j; | - | ||||||||||||
| 307 | key = &(p[n]); | - | ||||||||||||
| 308 | n += j + k; | - | ||||||||||||
| 309 | iv = &(p[n]); | - | ||||||||||||
| 310 | n += k; | - | ||||||||||||
| 311 | } never executed: end of block | 0 | ||||||||||||
| 312 | - | |||||||||||||
| 313 | if (n > s->s3->tmp.key_block_length
| 0 | ||||||||||||
| 314 | ossl_statem_fatal((s), (80), (129), ((4|64)), | - | ||||||||||||
| 315 | __FILE__ | - | ||||||||||||
| 316 | , | - | ||||||||||||
| 317 | 229 | - | ||||||||||||
| 318 | ) | - | ||||||||||||
| 319 | ; | - | ||||||||||||
| 320 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 321 | } | - | ||||||||||||
| 322 | - | |||||||||||||
| 323 | memcpy(mac_secret, ms, i); | - | ||||||||||||
| 324 | - | |||||||||||||
| 325 | if (!EVP_CipherInit_ex(dd, c,
| 0 | ||||||||||||
| 326 | ((void *)0)
| 0 | ||||||||||||
| 327 | , key, iv, (which & 0x002))
| 0 | ||||||||||||
| 328 | ossl_statem_fatal((s), (80), (129), ((4|64)), | - | ||||||||||||
| 329 | __FILE__ | - | ||||||||||||
| 330 | , | - | ||||||||||||
| 331 | 237 | - | ||||||||||||
| 332 | ) | - | ||||||||||||
| 333 | ; | - | ||||||||||||
| 334 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 335 | } | - | ||||||||||||
| 336 | - | |||||||||||||
| 337 | s->statem.enc_write_state = ENC_WRITE_STATE_VALID; | - | ||||||||||||
| 338 | OPENSSL_cleanse(exp_key, sizeof(exp_key)); | - | ||||||||||||
| 339 | OPENSSL_cleanse(exp_iv, sizeof(exp_iv)); | - | ||||||||||||
| 340 | return never executed: 1;return 1;never executed: return 1; | 0 | ||||||||||||
| 341 | err: | - | ||||||||||||
| 342 | OPENSSL_cleanse(exp_key, sizeof(exp_key)); | - | ||||||||||||
| 343 | OPENSSL_cleanse(exp_iv, sizeof(exp_iv)); | - | ||||||||||||
| 344 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 345 | } | - | ||||||||||||
| 346 | - | |||||||||||||
| 347 | int ssl3_setup_key_block(SSL *s) | - | ||||||||||||
| 348 | { | - | ||||||||||||
| 349 | unsigned char *p; | - | ||||||||||||
| 350 | const EVP_CIPHER *c; | - | ||||||||||||
| 351 | const EVP_MD *hash; | - | ||||||||||||
| 352 | int num; | - | ||||||||||||
| 353 | int ret = 0; | - | ||||||||||||
| 354 | SSL_COMP *comp; | - | ||||||||||||
| 355 | - | |||||||||||||
| 356 | if (s->s3->tmp.key_block_length != 0
| 0 | ||||||||||||
| 357 | return never executed: 1;return 1;never executed: return 1; | 0 | ||||||||||||
| 358 | - | |||||||||||||
| 359 | if (!ssl_cipher_get_evp(s->session, &c, &hash,
| 0 | ||||||||||||
| 360 | ((void *)0)
| 0 | ||||||||||||
| 361 | ,
| 0 | ||||||||||||
| 362 | ((void *)0)
| 0 | ||||||||||||
| 363 | , &comp, 0)
| 0 | ||||||||||||
| 364 | ossl_statem_fatal((s), (80), (157), (138), | - | ||||||||||||
| 365 | __FILE__ | - | ||||||||||||
| 366 | , | - | ||||||||||||
| 367 | 265 | - | ||||||||||||
| 368 | ) | - | ||||||||||||
| 369 | ; | - | ||||||||||||
| 370 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 371 | } | - | ||||||||||||
| 372 | - | |||||||||||||
| 373 | s->s3->tmp.new_sym_enc = c; | - | ||||||||||||
| 374 | s->s3->tmp.new_hash = hash; | - | ||||||||||||
| 375 | - | |||||||||||||
| 376 | - | |||||||||||||
| 377 | - | |||||||||||||
| 378 | s->s3->tmp.new_compression = comp; | - | ||||||||||||
| 379 | - | |||||||||||||
| 380 | - | |||||||||||||
| 381 | num = EVP_MD_size(hash); | - | ||||||||||||
| 382 | if (num < 0
| 0 | ||||||||||||
| 383 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 384 | - | |||||||||||||
| 385 | num = EVP_CIPHER_key_length(c) + num + EVP_CIPHER_iv_length(c); | - | ||||||||||||
| 386 | num *= 2; | - | ||||||||||||
| 387 | - | |||||||||||||
| 388 | ssl3_cleanup_key_block(s); | - | ||||||||||||
| 389 | - | |||||||||||||
| 390 | if ((
| 0 | ||||||||||||
| 391 | ((void *)0)
| 0 | ||||||||||||
| 392 | ) { | - | ||||||||||||
| 393 | ossl_statem_fatal((s), (80), (157), ((1|64)), | - | ||||||||||||
| 394 | __FILE__ | - | ||||||||||||
| 395 | , | - | ||||||||||||
| 396 | 288 | - | ||||||||||||
| 397 | ) | - | ||||||||||||
| 398 | ; | - | ||||||||||||
| 399 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 400 | } | - | ||||||||||||
| 401 | - | |||||||||||||
| 402 | s->s3->tmp.key_block_length = num; | - | ||||||||||||
| 403 | s->s3->tmp.key_block = p; | - | ||||||||||||
| 404 | - | |||||||||||||
| 405 | - | |||||||||||||
| 406 | ret = ssl3_generate_key_block(s, p, num); | - | ||||||||||||
| 407 | - | |||||||||||||
| 408 | if (!(s->options & 0x00000800U)
| 0 | ||||||||||||
| 409 | - | |||||||||||||
| 410 | - | |||||||||||||
| 411 | - | |||||||||||||
| 412 | - | |||||||||||||
| 413 | s->s3->need_empty_fragments = 1; | - | ||||||||||||
| 414 | - | |||||||||||||
| 415 | if (s->session->cipher !=
| 0 | ||||||||||||
| 416 | ((void *)0)
| 0 | ||||||||||||
| 417 | ) { | - | ||||||||||||
| 418 | if (s->session->cipher->algorithm_enc == 0x00000020U
| 0 | ||||||||||||
| 419 | s->s3->need_empty_fragments = 0; never executed: s->s3->need_empty_fragments = 0; | 0 | ||||||||||||
| 420 | - | |||||||||||||
| 421 | - | |||||||||||||
| 422 | if (s->session->cipher->algorithm_enc == 0x00000004U
| 0 | ||||||||||||
| 423 | s->s3->need_empty_fragments = 0; never executed: s->s3->need_empty_fragments = 0; | 0 | ||||||||||||
| 424 | - | |||||||||||||
| 425 | } never executed: end of block | 0 | ||||||||||||
| 426 | } never executed: end of block | 0 | ||||||||||||
| 427 | - | |||||||||||||
| 428 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||
| 429 | } | - | ||||||||||||
| 430 | - | |||||||||||||
| 431 | void ssl3_cleanup_key_block(SSL *s) | - | ||||||||||||
| 432 | { | - | ||||||||||||
| 433 | CRYPTO_clear_free(s->s3->tmp.key_block, s->s3->tmp.key_block_length, __FILE__, 321); | - | ||||||||||||
| 434 | s->s3->tmp.key_block = | - | ||||||||||||
| 435 | ((void *)0) | - | ||||||||||||
| 436 | ; | - | ||||||||||||
| 437 | s->s3->tmp.key_block_length = 0; | - | ||||||||||||
| 438 | } executed 47115 times by 2 tests: end of blockExecuted by:
| 47115 | ||||||||||||
| 439 | - | |||||||||||||
| 440 | int ssl3_init_finished_mac(SSL *s) | - | ||||||||||||
| 441 | { | - | ||||||||||||
| 442 | BIO *buf = BIO_new(BIO_s_mem()); | - | ||||||||||||
| 443 | - | |||||||||||||
| 444 | if (buf ==
| 0-9057 | ||||||||||||
| 445 | ((void *)0)
| 0-9057 | ||||||||||||
| 446 | ) { | - | ||||||||||||
| 447 | ossl_statem_fatal((s), (80), (397), ((1|64)), | - | ||||||||||||
| 448 | __FILE__ | - | ||||||||||||
| 449 | , | - | ||||||||||||
| 450 | 332 | - | ||||||||||||
| 451 | ) | - | ||||||||||||
| 452 | ; | - | ||||||||||||
| 453 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 454 | } | - | ||||||||||||
| 455 | ssl3_free_digest_list(s); | - | ||||||||||||
| 456 | s->s3->handshake_buffer = buf; | - | ||||||||||||
| 457 | (void)(int)BIO_ctrl(s->s3->handshake_buffer,9,(0x01), | - | ||||||||||||
| 458 | ((void *)0) | - | ||||||||||||
| 459 | ); | - | ||||||||||||
| 460 | return executed 9057 times by 1 test: 1;return 1;Executed by:
executed 9057 times by 1 test: return 1;Executed by:
| 9057 | ||||||||||||
| 461 | } | - | ||||||||||||
| 462 | - | |||||||||||||
| 463 | - | |||||||||||||
| 464 | - | |||||||||||||
| 465 | - | |||||||||||||
| 466 | - | |||||||||||||
| 467 | - | |||||||||||||
| 468 | void ssl3_free_digest_list(SSL *s) | - | ||||||||||||
| 469 | { | - | ||||||||||||
| 470 | BIO_free(s->s3->handshake_buffer); | - | ||||||||||||
| 471 | s->s3->handshake_buffer = | - | ||||||||||||
| 472 | ((void *)0) | - | ||||||||||||
| 473 | ; | - | ||||||||||||
| 474 | EVP_MD_CTX_free(s->s3->handshake_dgst); | - | ||||||||||||
| 475 | s->s3->handshake_dgst = | - | ||||||||||||
| 476 | ((void *)0) | - | ||||||||||||
| 477 | ; | - | ||||||||||||
| 478 | } executed 50257 times by 2 tests: end of blockExecuted by:
| 50257 | ||||||||||||
| 479 | - | |||||||||||||
| 480 | int ssl3_finish_mac(SSL *s, const unsigned char *buf, size_t len) | - | ||||||||||||
| 481 | { | - | ||||||||||||
| 482 | int ret; | - | ||||||||||||
| 483 | - | |||||||||||||
| 484 | if (s->s3->handshake_dgst ==
| 21465-22173 | ||||||||||||
| 485 | ((void *)0)
| 21465-22173 | ||||||||||||
| 486 | ) { | - | ||||||||||||
| 487 | - | |||||||||||||
| 488 | if (len > 0x7fffffff
| 0-22173 | ||||||||||||
| 489 | ossl_statem_fatal((s), (80), (587), (237), | - | ||||||||||||
| 490 | __FILE__ | - | ||||||||||||
| 491 | , | - | ||||||||||||
| 492 | 362 | - | ||||||||||||
| 493 | ) | - | ||||||||||||
| 494 | ; | - | ||||||||||||
| 495 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 496 | } | - | ||||||||||||
| 497 | ret = BIO_write(s->s3->handshake_buffer, (void *)buf, (int)len); | - | ||||||||||||
| 498 | if (ret <= 0
| 0-22173 | ||||||||||||
| 499 | ossl_statem_fatal((s), (80), (587), ((4|64)), | - | ||||||||||||
| 500 | __FILE__ | - | ||||||||||||
| 501 | , | - | ||||||||||||
| 502 | 368 | - | ||||||||||||
| 503 | ) | - | ||||||||||||
| 504 | ; | - | ||||||||||||
| 505 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 506 | } | - | ||||||||||||
| 507 | } executed 22173 times by 1 test: else {end of blockExecuted by:
| 22173 | ||||||||||||
| 508 | ret = EVP_DigestUpdate(s->s3->handshake_dgst, buf, len); | - | ||||||||||||
| 509 | if (!ret
| 0-21465 | ||||||||||||
| 510 | ossl_statem_fatal((s), (80), (587), ((4|64)), | - | ||||||||||||
| 511 | __FILE__ | - | ||||||||||||
| 512 | , | - | ||||||||||||
| 513 | 375 | - | ||||||||||||
| 514 | ) | - | ||||||||||||
| 515 | ; | - | ||||||||||||
| 516 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 517 | } | - | ||||||||||||
| 518 | } executed 21465 times by 1 test: end of blockExecuted by:
| 21465 | ||||||||||||
| 519 | return executed 43638 times by 1 test: 1;return 1;Executed by:
executed 43638 times by 1 test: return 1;Executed by:
| 43638 | ||||||||||||
| 520 | } | - | ||||||||||||
| 521 | - | |||||||||||||
| 522 | int ssl3_digest_cached_records(SSL *s, int keep) | - | ||||||||||||
| 523 | { | - | ||||||||||||
| 524 | const EVP_MD *md; | - | ||||||||||||
| 525 | long hdatalen; | - | ||||||||||||
| 526 | void *hdata; | - | ||||||||||||
| 527 | - | |||||||||||||
| 528 | if (s->s3->handshake_dgst ==
| 5223-14725 | ||||||||||||
| 529 | ((void *)0)
| 5223-14725 | ||||||||||||
| 530 | ) { | - | ||||||||||||
| 531 | hdatalen = BIO_ctrl(s->s3->handshake_buffer,3,0,(char *)(&hdata)); | - | ||||||||||||
| 532 | if (hdatalen <= 0
| 0-5223 | ||||||||||||
| 533 | ossl_statem_fatal((s), (80), (293), (332), | - | ||||||||||||
| 534 | __FILE__ | - | ||||||||||||
| 535 | , | - | ||||||||||||
| 536 | 392 | - | ||||||||||||
| 537 | ) | - | ||||||||||||
| 538 | ; | - | ||||||||||||
| 539 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 540 | } | - | ||||||||||||
| 541 | - | |||||||||||||
| 542 | s->s3->handshake_dgst = EVP_MD_CTX_new(); | - | ||||||||||||
| 543 | if (s->s3->handshake_dgst ==
| 0-5223 | ||||||||||||
| 544 | ((void *)0)
| 0-5223 | ||||||||||||
| 545 | ) { | - | ||||||||||||
| 546 | ossl_statem_fatal((s), (80), (293), ((1|64)), | - | ||||||||||||
| 547 | __FILE__ | - | ||||||||||||
| 548 | , | - | ||||||||||||
| 549 | 399 | - | ||||||||||||
| 550 | ) | - | ||||||||||||
| 551 | ; | - | ||||||||||||
| 552 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 553 | } | - | ||||||||||||
| 554 | - | |||||||||||||
| 555 | md = ssl_handshake_md(s); | - | ||||||||||||
| 556 | if (md ==
| 0-5223 | ||||||||||||
| 557 | ((void *)0)
| 0-5223 | ||||||||||||
| 558 | || !EVP_DigestInit_ex(s->s3->handshake_dgst, md,
| 0-5223 | ||||||||||||
| 559 | ((void *)0)
| 0-5223 | ||||||||||||
| 560 | )
| 0-5223 | ||||||||||||
| 561 | || !EVP_DigestUpdate(s->s3->handshake_dgst, hdata, hdatalen)
| 0-5223 | ||||||||||||
| 562 | ossl_statem_fatal((s), (80), (293), ((4|64)), | - | ||||||||||||
| 563 | __FILE__ | - | ||||||||||||
| 564 | , | - | ||||||||||||
| 565 | 407 | - | ||||||||||||
| 566 | ) | - | ||||||||||||
| 567 | ; | - | ||||||||||||
| 568 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 569 | } | - | ||||||||||||
| 570 | } executed 5223 times by 1 test: end of blockExecuted by:
| 5223 | ||||||||||||
| 571 | if (keep == 0
| 8847-11101 | ||||||||||||
| 572 | BIO_free(s->s3->handshake_buffer); | - | ||||||||||||
| 573 | s->s3->handshake_buffer = | - | ||||||||||||
| 574 | ((void *)0) | - | ||||||||||||
| 575 | ; | - | ||||||||||||
| 576 | } executed 11101 times by 1 test: end of blockExecuted by:
| 11101 | ||||||||||||
| 577 | - | |||||||||||||
| 578 | return executed 19948 times by 1 test: 1;return 1;Executed by:
executed 19948 times by 1 test: return 1;Executed by:
| 19948 | ||||||||||||
| 579 | } | - | ||||||||||||
| 580 | - | |||||||||||||
| 581 | size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t len, | - | ||||||||||||
| 582 | unsigned char *p) | - | ||||||||||||
| 583 | { | - | ||||||||||||
| 584 | int ret; | - | ||||||||||||
| 585 | EVP_MD_CTX *ctx = | - | ||||||||||||
| 586 | ((void *)0) | - | ||||||||||||
| 587 | ; | - | ||||||||||||
| 588 | - | |||||||||||||
| 589 | if (!ssl3_digest_cached_records(s, 0)
| 0 | ||||||||||||
| 590 | - | |||||||||||||
| 591 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 592 | } | - | ||||||||||||
| 593 | - | |||||||||||||
| 594 | if (EVP_MD_type(EVP_MD_CTX_md(s->s3->handshake_dgst)) != 114
| 0 | ||||||||||||
| 595 | ossl_statem_fatal((s), (80), (285), (324), | - | ||||||||||||
| 596 | __FILE__ | - | ||||||||||||
| 597 | , | - | ||||||||||||
| 598 | 432 | - | ||||||||||||
| 599 | ) | - | ||||||||||||
| 600 | ; | - | ||||||||||||
| 601 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 602 | } | - | ||||||||||||
| 603 | - | |||||||||||||
| 604 | ctx = EVP_MD_CTX_new(); | - | ||||||||||||
| 605 | if (ctx ==
| 0 | ||||||||||||
| 606 | ((void *)0)
| 0 | ||||||||||||
| 607 | ) { | - | ||||||||||||
| 608 | ossl_statem_fatal((s), (80), (285), ((1|64)), | - | ||||||||||||
| 609 | __FILE__ | - | ||||||||||||
| 610 | , | - | ||||||||||||
| 611 | 439 | - | ||||||||||||
| 612 | ) | - | ||||||||||||
| 613 | ; | - | ||||||||||||
| 614 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 615 | } | - | ||||||||||||
| 616 | if (!EVP_MD_CTX_copy_ex(ctx, s->s3->handshake_dgst)
| 0 | ||||||||||||
| 617 | ossl_statem_fatal((s), (80), (285), ((4|64)), | - | ||||||||||||
| 618 | __FILE__ | - | ||||||||||||
| 619 | , | - | ||||||||||||
| 620 | 444 | - | ||||||||||||
| 621 | ) | - | ||||||||||||
| 622 | ; | - | ||||||||||||
| 623 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 624 | } | - | ||||||||||||
| 625 | - | |||||||||||||
| 626 | ret = EVP_MD_size(EVP_MD_CTX_md(ctx)); | - | ||||||||||||
| 627 | if (ret < 0
| 0 | ||||||||||||
| 628 | ossl_statem_fatal((s), (80), (285), ((4|64)), | - | ||||||||||||
| 629 | __FILE__ | - | ||||||||||||
| 630 | , | - | ||||||||||||
| 631 | 451 | - | ||||||||||||
| 632 | ) | - | ||||||||||||
| 633 | ; | - | ||||||||||||
| 634 | EVP_MD_CTX_reset(ctx); | - | ||||||||||||
| 635 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 636 | } | - | ||||||||||||
| 637 | - | |||||||||||||
| 638 | if ((sender !=
| 0 | ||||||||||||
| 639 | ((void *)0)
| 0 | ||||||||||||
| 640 | && EVP_DigestUpdate(ctx, sender, len) <= 0
| 0 | ||||||||||||
| 641 | || EVP_MD_CTX_ctrl(ctx, 0x1d,
| 0 | ||||||||||||
| 642 | (int)s->session->master_key_length,
| 0 | ||||||||||||
| 643 | s->session->master_key) <= 0
| 0 | ||||||||||||
| 644 | || EVP_DigestFinal_ex(ctx, p,
| 0 | ||||||||||||
| 645 | ((void *)0)
| 0 | ||||||||||||
| 646 | ) <= 0
| 0 | ||||||||||||
| 647 | ossl_statem_fatal((s), (80), (285), ((4|64)), | - | ||||||||||||
| 648 | __FILE__ | - | ||||||||||||
| 649 | , | - | ||||||||||||
| 650 | 462 | - | ||||||||||||
| 651 | ) | - | ||||||||||||
| 652 | ; | - | ||||||||||||
| 653 | ret = 0; | - | ||||||||||||
| 654 | } never executed: end of block | 0 | ||||||||||||
| 655 | - | |||||||||||||
| 656 | EVP_MD_CTX_free(ctx); | - | ||||||||||||
| 657 | - | |||||||||||||
| 658 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||
| 659 | } | - | ||||||||||||
| 660 | - | |||||||||||||
| 661 | int ssl3_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p, | - | ||||||||||||
| 662 | size_t len, size_t *secret_size) | - | ||||||||||||
| 663 | { | - | ||||||||||||
| 664 | static const unsigned char *salt[3] = { | - | ||||||||||||
| 665 | - | |||||||||||||
| 666 | (const unsigned char *)"A", | - | ||||||||||||
| 667 | (const unsigned char *)"BB", | - | ||||||||||||
| 668 | (const unsigned char *)"CCC", | - | ||||||||||||
| 669 | - | |||||||||||||
| 670 | - | |||||||||||||
| 671 | - | |||||||||||||
| 672 | - | |||||||||||||
| 673 | - | |||||||||||||
| 674 | }; | - | ||||||||||||
| 675 | unsigned char buf[64]; | - | ||||||||||||
| 676 | EVP_MD_CTX *ctx = EVP_MD_CTX_new(); | - | ||||||||||||
| 677 | int i, ret = 1; | - | ||||||||||||
| 678 | unsigned int n; | - | ||||||||||||
| 679 | size_t ret_secret_size = 0; | - | ||||||||||||
| 680 | - | |||||||||||||
| 681 | if (ctx ==
| 0 | ||||||||||||
| 682 | ((void *)0)
| 0 | ||||||||||||
| 683 | ) { | - | ||||||||||||
| 684 | ossl_statem_fatal((s), (80), (388), ((1|64)), | - | ||||||||||||
| 685 | __FILE__ | - | ||||||||||||
| 686 | , | - | ||||||||||||
| 687 | 493 | - | ||||||||||||
| 688 | ) | - | ||||||||||||
| 689 | ; | - | ||||||||||||
| 690 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 691 | } | - | ||||||||||||
| 692 | for (i = 0; i < 3
| 0 | ||||||||||||
| 693 | if (EVP_DigestInit_ex(ctx, s->ctx->sha1,
| 0 | ||||||||||||
| 694 | ((void *)0)
| 0 | ||||||||||||
| 695 | ) <= 0
| 0 | ||||||||||||
| 696 | || EVP_DigestUpdate(ctx, salt[i],
| 0 | ||||||||||||
| 697 | strlen((const char *)salt[i])) <= 0
| 0 | ||||||||||||
| 698 | || EVP_DigestUpdate(ctx, p, len) <= 0
| 0 | ||||||||||||
| 699 | || EVP_DigestUpdate(ctx, &(s->s3->client_random[0]),
| 0 | ||||||||||||
| 700 | 32) <= 0
| 0 | ||||||||||||
| 701 | || EVP_DigestUpdate(ctx, &(s->s3->server_random[0]),
| 0 | ||||||||||||
| 702 | 32) <= 0
| 0 | ||||||||||||
| 703 | - | |||||||||||||
| 704 | || EVP_DigestFinal_ex(ctx, buf, &n) <= 0
| 0 | ||||||||||||
| 705 | || EVP_DigestInit_ex(ctx, s->ctx->md5,
| 0 | ||||||||||||
| 706 | ((void *)0)
| 0 | ||||||||||||
| 707 | ) <= 0
| 0 | ||||||||||||
| 708 | || EVP_DigestUpdate(ctx, p, len) <= 0
| 0 | ||||||||||||
| 709 | || EVP_DigestUpdate(ctx, buf, n) <= 0
| 0 | ||||||||||||
| 710 | || EVP_DigestFinal_ex(ctx, out, &n) <= 0
| 0 | ||||||||||||
| 711 | ossl_statem_fatal((s), (80), (388), ((4|64)), | - | ||||||||||||
| 712 | __FILE__ | - | ||||||||||||
| 713 | , | - | ||||||||||||
| 714 | 512 | - | ||||||||||||
| 715 | ) | - | ||||||||||||
| 716 | ; | - | ||||||||||||
| 717 | ret = 0; | - | ||||||||||||
| 718 | break; never executed: break; | 0 | ||||||||||||
| 719 | } | - | ||||||||||||
| 720 | out += n; | - | ||||||||||||
| 721 | ret_secret_size += n; | - | ||||||||||||
| 722 | } never executed: end of block | 0 | ||||||||||||
| 723 | EVP_MD_CTX_free(ctx); | - | ||||||||||||
| 724 | - | |||||||||||||
| 725 | OPENSSL_cleanse(buf, sizeof(buf)); | - | ||||||||||||
| 726 | if (ret
| 0 | ||||||||||||
| 727 | * never executed: secret_size = ret_secret_size;*secret_size = ret_secret_size;never executed: *secret_size = ret_secret_size; | 0 | ||||||||||||
| 728 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||
| 729 | } | - | ||||||||||||
| 730 | - | |||||||||||||
| 731 | int ssl3_alert_code(int code) | - | ||||||||||||
| 732 | { | - | ||||||||||||
| 733 | switch (code) { | - | ||||||||||||
| 734 | case never executed: 0:case 0:never executed: case 0: | 0 | ||||||||||||
| 735 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 736 | case never executed: 10:case 10:never executed: case 10: | 0 | ||||||||||||
| 737 | return never executed: 10;return 10;never executed: return 10; | 0 | ||||||||||||
| 738 | case never executed: 20:case 20:never executed: case 20: | 0 | ||||||||||||
| 739 | return never executed: 20;return 20;never executed: return 20; | 0 | ||||||||||||
| 740 | case never executed: 21:case 21:never executed: case 21: | 0 | ||||||||||||
| 741 | return never executed: 20;return 20;never executed: return 20; | 0 | ||||||||||||
| 742 | case never executed: 22:case 22:never executed: case 22: | 0 | ||||||||||||
| 743 | return never executed: 20;return 20;never executed: return 20; | 0 | ||||||||||||
| 744 | case never executed: 30:case 30:never executed: case 30: | 0 | ||||||||||||
| 745 | return never executed: 30;return 30;never executed: return 30; | 0 | ||||||||||||
| 746 | case never executed: 40:case 40:never executed: case 40: | 0 | ||||||||||||
| 747 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 748 | case never executed: 41:case 41:never executed: case 41: | 0 | ||||||||||||
| 749 | return never executed: 41;return 41;never executed: return 41; | 0 | ||||||||||||
| 750 | case never executed: 42:case 42:never executed: case 42: | 0 | ||||||||||||
| 751 | return never executed: 42;return 42;never executed: return 42; | 0 | ||||||||||||
| 752 | case never executed: 43:case 43:never executed: case 43: | 0 | ||||||||||||
| 753 | return never executed: 43;return 43;never executed: return 43; | 0 | ||||||||||||
| 754 | case never executed: 44:case 44:never executed: case 44: | 0 | ||||||||||||
| 755 | return never executed: 44;return 44;never executed: return 44; | 0 | ||||||||||||
| 756 | case never executed: 45:case 45:never executed: case 45: | 0 | ||||||||||||
| 757 | return never executed: 45;return 45;never executed: return 45; | 0 | ||||||||||||
| 758 | case never executed: 46:case 46:never executed: case 46: | 0 | ||||||||||||
| 759 | return never executed: 46;return 46;never executed: return 46; | 0 | ||||||||||||
| 760 | case never executed: 47:case 47:never executed: case 47: | 0 | ||||||||||||
| 761 | return never executed: 47;return 47;never executed: return 47; | 0 | ||||||||||||
| 762 | case never executed: 48:case 48:never executed: case 48: | 0 | ||||||||||||
| 763 | return never executed: 42;return 42;never executed: return 42; | 0 | ||||||||||||
| 764 | case never executed: 49:case 49:never executed: case 49: | 0 | ||||||||||||
| 765 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 766 | case never executed: 50:case 50:never executed: case 50: | 0 | ||||||||||||
| 767 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 768 | case never executed: 51:case 51:never executed: case 51: | 0 | ||||||||||||
| 769 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 770 | case never executed: 60:case 60:never executed: case 60: | 0 | ||||||||||||
| 771 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 772 | case never executed: 70:case 70:never executed: case 70: | 0 | ||||||||||||
| 773 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 774 | case never executed: 71:case 71:never executed: case 71: | 0 | ||||||||||||
| 775 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 776 | case never executed: 80:case 80:never executed: case 80: | 0 | ||||||||||||
| 777 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 778 | case never executed: 90:case 90:never executed: case 90: | 0 | ||||||||||||
| 779 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 780 | case never executed: 100:case 100:never executed: case 100: | 0 | ||||||||||||
| 781 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||
| 782 | case never executed: 110:case 110:never executed: case 110: | 0 | ||||||||||||
| 783 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 784 | case never executed: 111:case 111:never executed: case 111: | 0 | ||||||||||||
| 785 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 786 | case never executed: 112:case 112:never executed: case 112: | 0 | ||||||||||||
| 787 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 788 | case never executed: 113:case 113:never executed: case 113: | 0 | ||||||||||||
| 789 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 790 | case never executed: 114:case 114:never executed: case 114: | 0 | ||||||||||||
| 791 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 792 | case never executed: 115:case 115:never executed: case 115: | 0 | ||||||||||||
| 793 | return never executed: 115;return 115;never executed: return 115; | 0 | ||||||||||||
| 794 | case never executed: 86:case 86:never executed: case 86: | 0 | ||||||||||||
| 795 | return never executed: 86;return 86;never executed: return 86; | 0 | ||||||||||||
| 796 | case never executed: 120:case 120:never executed: case 120: | 0 | ||||||||||||
| 797 | return never executed: 120;return 120;never executed: return 120; | 0 | ||||||||||||
| 798 | case never executed: 116:case 116:never executed: case 116: | 0 | ||||||||||||
| 799 | return never executed: 40;return 40;never executed: return 40; | 0 | ||||||||||||
| 800 | default never executed: :default:never executed: default: | 0 | ||||||||||||
| 801 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||
| 802 | } | - | ||||||||||||
| 803 | } | - | ||||||||||||
| Switch to Source code | Preprocessed file |