You don't need fancy software, compilers warn about this kind of thing.
However I can't see a valid case for this pattern so static analyser rule to knock it on the head would be a good idea.
clientRandom.data = ctx->clientRandom;
clientRandom.length = SSL_CLIENT_SRVR_RAND_SIZE;
serverRandom.data = ctx->serverRandom;
serverRandom.length = SSL_CLIENT_SRVR_RAND_SIZE;
That is something that I think static analysis tools could signal. It would be a red herring, though.