| line | true | false | branch | 
 
| 85 | 1149 | 0 | if (c != end) | 
 
| 87 | 0 | 1149 | if (end - c < 2) | 
 
| 96 | 1149 | 0 | if ((uint32) (end - c) != extLen || extLen < 4) | 
 
|  | 0 | 1149 | if ((uint32) (end - c) != extLen || extLen < 4) | 
 
| 106 | 4601 | 1149 | while (c != end) | 
 
| 110 | 0 | 4601 | if (end - c < 2) | 
 
| 119 | 0 | 4601 | if ((uint32) (end - c) < extLen) | 
 
| 126 | 7 | 4594 | if (extType == EXT_RENEGOTIATION_INFO) | 
 
| 132 | 0 | 4601 | if ((rc = ClientHelloExt(ssl, extType, extLen, c)) < 0) | 
 
| 142 | 0 | 1149 | if (ssl->extFlags.require_extended_master_secret == 1 && | 
 
|  | 0 | 0 | if (ssl->extFlags.require_extended_master_secret == 1 && | 
 
| 151 | 1149 | 0 | if (ssl->flags & SSL_FLAGS_TLS_1_2) | 
 
| 153 | 0 | 1149 | if (!ssl->hashSigAlg) | 
 
| 180 | 0 | 1149 | if (ssl->extFlags.session_id == 1) | 
 
| 190 | 1142 | 7 | if (!renegotiationExtSent) | 
 
| 194 | 0 | 1142 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
|  | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
| 202 | 1142 | 0 | if (ssl->secureRenegotiationFlag == PS_TRUE && | 
 
|  | 0 | 1142 | if (ssl->secureRenegotiationFlag == PS_TRUE && | 
 
| 210 | 0 | 1142 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
|  | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
| 250 | 0 | 0 | if (extLen != 0) | 
 
| 257 | 0 | 0 | if (!ssl->extFlags.deny_truncated_hmac) | 
 
| 264 | 0 | 1149 | if (extLen != 0) | 
 
| 276 | 0 | 0 | if (extLen != 1) | 
 
| 284 | 0 | 0 | if (!ssl->extFlags.deny_max_fragment_len) | 
 
| 286 | 0 | 0 | if (*c == 0x1) | 
 
| 290 | 0 | 0 | else if (*c == 0x2) | 
 
| 294 | 0 | 0 | else if (*c == 0x3) | 
 
| 298 | 0 | 0 | else if (*c == 0x4) | 
 
| 315 | 0 | 0 | if (extLen < 5) | 
 
| 326 | 0 | 0 | if (*c++ != 0x0) | 
 
| 338 | 0 | 0 | if ((int32) extLen < i || i > 255 || i <= 0) | 
 
|  | 0 | 0 | if ((int32) extLen < i || i > 255 || i <= 0) | 
 
|  | 0 | 0 | if ((int32) extLen < i || i > 255 || i <= 0) | 
 
| 344 | 0 | 0 | if (ssl->expectedName) | 
 
| 348 | 0 | 0 | if ((ssl->expectedName = psMalloc(ssl->sPool, i + 1)) == NULL) | 
 
| 362 | 0 | 0 | if (extLen < 2) | 
 
| 369 | 0 | 0 | if (ssl->srv_alpn_cb) | 
 
| 372 | 0 | 0 | if ((rc = dealWithAlpnExt(ssl, c, extLen)) < 0) | 
 
| 374 | 0 | 0 | if (rc == PS_PROTOCOL_FAIL) | 
 
| 393 | 0 | 7 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
|  | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
| 396 | 0 | 0 | if (extLen == 1 && *c == '\0') | 
 
|  | 0 | 0 | if (extLen == 1 && *c == '\0') | 
 
| 407 | 7 | 0 | else if ((extLen == ssl->peerVerifyDataLen + 1) && | 
 
|  | 7 | 0 | else if ((extLen == ssl->peerVerifyDataLen + 1) && | 
 
| 410 | 0 | 7 | if (*c != ssl->peerVerifyDataLen) | 
 
| 416 | 0 | 7 | if (memcmpct(c + 1, ssl->peerVerifyData, | 
 
| 444 | 1149 | 0 | if (extLen > (2 + 32) || extLen < 4 || (extLen & 1)) | 
 
|  | 1149 | 0 | if (extLen > (2 + 32) || extLen < 4 || (extLen & 1)) | 
 
|  | 0 | 1149 | if (extLen > (2 + 32) || extLen < 4 || (extLen & 1)) | 
 
| 455 | 1149 | 0 | if ((uint32) tmpLen > extLen || tmpLen < 2 || (tmpLen & 1)) | 
 
|  | 1149 | 0 | if ((uint32) tmpLen > extLen || tmpLen < 2 || (tmpLen & 1)) | 
 
|  | 0 | 1149 | if ((uint32) tmpLen > extLen || tmpLen < 2 || (tmpLen & 1)) | 
 
| 466 | 9192 | 1149 | while (tmpLen >= 2 && extLen >= 2) | 
 
|  | 9192 | 0 | while (tmpLen >= 2 && extLen >= 2) | 
 
| 483 | 0 | 0 | if (ssl->sid == NULL) | 
 
| 489 | 0 | 0 | if (ssl->sid == NULL) | 
 
| 497 | 0 | 0 | if (extLen > 0)   /* received a ticket */ | 
 
| 501 | 0 | 0 | if (matrixUnlockSessionTicket(ssl, (unsigned char *) c, extLen) == | 
 
| 517 | 0 | 0 | if (ssl->sessionIdLen > 0) | 
 
| 523 | 0 | 0 | if (ssl->keys && ssl->keys->sessTickets) | 
 
|  | 0 | 0 | if (ssl->keys && ssl->keys->sessTickets) | 
 
| 539 | 0 | 0 | if (ssl->keys && ssl->keys->sessTickets) | 
 
|  | 0 | 0 | if (ssl->keys && ssl->keys->sessTickets) | 
 
| 556 | 0 | 1148 | if (extLen < 4) | 
 
| 565 | 1148 | 0 | if (dataLen > extLen || dataLen < 2 || (dataLen & 1)) | 
 
|  | 1148 | 0 | if (dataLen > extLen || dataLen < 2 || (dataLen & 1)) | 
 
|  | 0 | 1148 | if (dataLen > extLen || dataLen < 2 || (dataLen & 1)) | 
 
| 574 | 5740 | 1148 | while (dataLen >= 2 && extLen >= 2) | 
 
|  | 5740 | 0 | while (dataLen >= 2 && extLen >= 2) | 
 
| 584 | 5740 | 0 | if (psTestUserEcID(curveId, ssl->ecInfo.ecFlags) == 0) | 
 
| 593 | 1148 | 4592 | if (ecFlags == IS_RECVD_EXT) | 
 
| 606 | 0 | 1148 | if (extLen < 1) | 
 
| 614 | 1148 | 0 | if (dataLen > extLen || dataLen < 1) | 
 
|  | 0 | 1148 | if (dataLen > extLen || dataLen < 1) | 
 
| 622 | 0 | 1148 | if (memchr(c, '\0', dataLen) == NULL) | 
 
| 634 | 0 | 0 | if (extLen < 5 || *c != 0x1) | 
 
|  | 0 | 0 | if (extLen < 5 || *c != 0x1) | 
 
| 644 | 0 | 0 | if (dataLen + 2 > extLen) | 
 
| 654 | 0 | 0 | if (dataLen > extLen) | 
 
| 664 | 0 | 0 | if (ssl->keys->OCSPResponseBufLen > 0 && | 
 
|  | 0 | 0 | if (ssl->keys->OCSPResponseBufLen > 0 && | 
 
| 685 | 0 | 0 | if (ssl->keys->SCTResponseBufLen > 0 && | 
 
|  | 0 | 0 | if (ssl->keys->SCTResponseBufLen > 0 && | 
 
| 721 | 0 | 0 | if (totLen != extLen - 2) | 
 
| 726 | 0 | 0 | for (i = 0; totLen > 0; i++) | 
 
| 728 | 0 | 0 | if (i + 1 > MAX_PROTO_EXT) | 
 
| 734 | 0 | 0 | if (protoLen[i] > totLen) | 
 
| 736 | 0 | 0 | while (i > 0) | 
 
| 743 | 0 | 0 | if ((proto[i] = psMalloc(ssl->sPool, protoLen[i])) == NULL) | 
 
| 745 | 0 | 0 | while (i > 0) | 
 
| 763 | 0 | 0 | if (userChoice == MAX_PROTO_EXT) | 
 
| 766 | 0 | 0 | while (i > 0) | 
 
| 773 | 0 | 0 | if (userChoice >= i) | 
 
| 776 | 0 | 0 | while (i > 0) | 
 
| 784 | 0 | 0 | if (userChoice < 0) | 
 
| 788 | 0 | 0 | while (i > 0) | 
 
| 801 | 0 | 0 | while (i > 0) | 
 
| 803 | 0 | 0 | if (i - 1 != userChoice) | 
 
| 814 | 0 | 0 | if ((ssl->alpnLen == 2) && (memcmp(ssl->alpn, "h2", 2) == 0)) | 
 
|  | 0 | 0 | if ((ssl->alpnLen == 2) && (memcmp(ssl->alpn, "h2", 2) == 0)) | 
 
| 846 | 0 | 1150 | if (end - c < 2) | 
 
| 854 | 0 | 1150 | if ((uint32) (end - c) < extLen) | 
 
| 860 | 3449 | 1150 | while ((int32) hsLen > (c - extData)) | 
 
| 864 | 0 | 3449 | if (end - c < 2) | 
 
| 872 | 0 | 3449 | if ((uint32) (end - c) < extLen) | 
 
| 879 | 1150 | 2299 | if (extType == EXT_RENEGOTIATION_INFO) | 
 
| 884 | 0 | 3449 | if ((rc = ServerHelloExt(ssl, extType, extLen, c)) < 0) | 
 
| 895 | 0 | 1150 | if (ssl->extFlags.req_extended_master_secret == 1) | 
 
| 899 | 0 | 0 | if (ssl->extFlags.require_extended_master_secret == 1) | 
 
| 908 | 0 | 1150 | if (ssl->extFlags.req_status_request == 1) | 
 
| 910 | 0 | 0 | if (ssl->extFlags.status_request == 0) | 
 
| 920 | 0 | 1150 | if (!renegotiationExtSent) | 
 
| 924 | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
|  | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
| 932 | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_TRUE && | 
 
|  | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_TRUE && | 
 
| 940 | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
|  | 0 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
| 973 | 0 | 0 | if (ssl->extFlags.req_sni) | 
 
| 976 | 0 | 0 | if (ssl->extCb) | 
 
| 990 | 0 | 0 | if (ssl->extFlags.req_max_fragment_len) | 
 
| 995 | 0 | 0 | if (!(ssl->maxPtFrag & 0x10000)) | 
 
| 1001 | 0 | 0 | if (extLen != 1) | 
 
| 1009 | 0 | 0 | if (*c == 0x01 && | 
 
|  | 0 | 0 | if (*c == 0x01 && | 
 
| 1014 | 0 | 0 | else if (*c == 0x02 && | 
 
|  | 0 | 0 | else if (*c == 0x02 && | 
 
| 1019 | 0 | 0 | else if (*c == 0x03 && | 
 
|  | 0 | 0 | else if (*c == 0x03 && | 
 
| 1024 | 0 | 0 | else if (*c == 0x04 && | 
 
|  | 0 | 0 | else if (*c == 0x04 && | 
 
| 1041 | 0 | 0 | if (ssl->extFlags.req_truncated_hmac) | 
 
| 1046 | 0 | 0 | if (extLen != 0) | 
 
| 1056 | 1150 | 0 | if (ssl->extFlags.req_extended_master_secret) | 
 
| 1061 | 0 | 1150 | if (extLen != 0) | 
 
| 1080 | 1149 | 0 | if (ssl->extFlags.req_elliptic_points) | 
 
| 1085 | 0 | 1149 | if (*c++ != (extLen - 1)) | 
 
| 1104 | 0 | 0 | if (ssl->extFlags.req_alpn) | 
 
| 1107 | 0 | 0 | if (ssl->extCb) | 
 
| 1122 | 0 | 0 | if (ssl->extFlags.req_session_ticket) | 
 
| 1127 | 0 | 0 | if (ssl->sid && ssl->sid->sessionTicketState == | 
 
|  | 0 | 0 | if (ssl->sid && ssl->sid->sessionTicketState == | 
 
| 1133 | 0 | 0 | else if (ssl->sid && ssl->sid->sessionTicketState == | 
 
|  | 0 | 0 | else if (ssl->sid && ssl->sid->sessionTicketState == | 
 
| 1152 | 1150 | 0 | if (ssl->extFlags.req_renegotiation_info) | 
 
| 1157 | 1143 | 7 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
|  | 1143 | 0 | if (ssl->secureRenegotiationFlag == PS_FALSE && | 
 
| 1160 | 1143 | 0 | if (extLen == 1 && *c == '\0') | 
 
|  | 1143 | 0 | if (extLen == 1 && *c == '\0') | 
 
| 1171 | 7 | 0 | else if (ssl->secureRenegotiationFlag == PS_TRUE && | 
 
|  | 7 | 0 | else if (ssl->secureRenegotiationFlag == PS_TRUE && | 
 
| 1175 | 0 | 7 | if (memcmpct(c, ssl->myVerifyData, | 
 
| 1182 | 0 | 7 | if (memcmpct(c + ssl->myVerifyDataLen, ssl->peerVerifyData, | 
 
| 1200 | 0 | 0 | if (ssl->extFlags.req_status_request) | 
 
| 1213 | 0 | 0 | if (ssl->extCb) | 
 
| 1220 | 0 | 3449 | if (rc < 0) | 
 
| 1222 | 0 | 0 | if (ssl->minVer >= TLS_1_2_MIN_VER) |