we were checking two times old_ckchs where we wanted to check whether
the transaction path was freed (and so null) before

this should fix issue #351

Reported-by: Илья Шипицин <chipits...@gmail.com>
Signed-off-by: William Dauchy <w.dau...@criteo.com>
---
 src/ssl_sock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index bcfa3e71..4cdb795f 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -10468,7 +10468,7 @@ static int cli_parse_set_cert(char **args, char 
*payload, struct appctx *appctx,
        /* we succeed, we can save the ckchs in the transaction */
 
        /* if there wasn't a transaction, update the old ckchs */
-       if (!ckchs_transaction.old_ckchs && !ckchs_transaction.old_ckchs) {
+       if (!ckchs_transaction.old_ckchs && !ckchs_transaction.path) {
                ckchs_transaction.old_ckchs = appctx->ctx.ssl.old_ckchs;
                ckchs_transaction.path = appctx->ctx.ssl.path;
                err = memprintf(&err, "Transaction created for certificate 
%s!\n", ckchs_transaction.path);
-- 
2.24.0


Reply via email to