@@ -26104,8 +26104,6 @@ int SetCipherList(WOLFSSL_CTX* ctx, Suites* suites, const char* list)
2610426104 #endif
2610526105 #ifdef OPENSSL_EXTRA
2610626106 if (callInitSuites) {
26107- byte tmp[WOLFSSL_MAX_SUITE_SZ];
26108- XMEMCPY(tmp, suites->suites, idx); /* Store copy */
2610926107 suites->setSuites = 0; /* Force InitSuites */
2611026108 suites->hashSigAlgoSz = 0; /* Force InitSuitesHashSigAlgo call
2611126109 * inside InitSuites */
@@ -26130,6 +26128,16 @@ int SetCipherList(WOLFSSL_CTX* ctx, Suites* suites, const char* list)
2613026128 InitSuitesHashSigAlgo_ex2(suites->hashSigAlgo, haveSig, 1, keySz,
2613126129 &suites->hashSigAlgoSz);
2613226130 }
26131+
26132+ #ifdef HAVE_RENEGOTIATION_INDICATION
26133+ if (suites->suiteSz > WOLFSSL_MAX_SUITE_SZ - 2) {
26134+ WOLFSSL_MSG("Too many ciphersuites");
26135+ return 0;
26136+ }
26137+ suites->suites[suites->suiteSz] = CIPHER_BYTE;
26138+ suites->suites[suites->suiteSz+1] = TLS_EMPTY_RENEGOTIATION_INFO_SCSV;
26139+ suites->suiteSz += 2;
26140+ #endif
2613326141 suites->setSuites = 1;
2613426142 }
2613526143
@@ -26265,6 +26273,15 @@ int SetCipherListFromBytes(WOLFSSL_CTX* ctx, Suites* suites, const byte* list,
2626526273 haveSig |= haveAnon ? SIG_ANON : 0;
2626626274 InitSuitesHashSigAlgo_ex2(suites->hashSigAlgo, haveSig, 1, keySz,
2626726275 &suites->hashSigAlgoSz);
26276+ #ifdef HAVE_RENEGOTIATION_INDICATION
26277+ if (suites->suiteSz > WOLFSSL_MAX_SUITE_SZ - 2) {
26278+ WOLFSSL_MSG("Too many ciphersuites");
26279+ return 0;
26280+ }
26281+ suites->suites[suites->suiteSz] = CIPHER_BYTE;
26282+ suites->suites[suites->suiteSz+1] = TLS_EMPTY_RENEGOTIATION_INFO_SCSV;
26283+ suites->suiteSz += 2;
26284+ #endif
2626826285 suites->setSuites = 1;
2626926286 }
2627026287
0 commit comments