From cbf5a2bce75ca2c2fd3e247796b9892f5298584e Mon Sep 17 00:00:00 2001 From: "John M. Schanck" Date: Thu, 13 Apr 2023 17:43:46 +0000 Subject: [PATCH] Bug 1826650 - cmd/ecperf: fix dangling pointer warning on gcc 13. r=djackson Differential Revision: https://phabricator.services.mozilla.com/D174822 --HG-- extra : moz-landing-system : lando --- cmd/ecperf/ecperf.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmd/ecperf/ecperf.c b/cmd/ecperf/ecperf.c index 705d68f35..a07004d8e 100644 --- a/cmd/ecperf/ecperf.c +++ b/cmd/ecperf/ecperf.c @@ -53,6 +53,7 @@ PKCS11Thread(void *data) SECItem sig; CK_SESSION_HANDLE session; CK_RV crv; + void *tmp = NULL; threadData->status = SECSuccess; threadData->count = 0; @@ -68,6 +69,7 @@ PKCS11Thread(void *data) if (threadData->isSign) { sig.data = sigData; sig.len = sizeof(sigData); + tmp = threadData->p2; threadData->p2 = (void *)&sig; } @@ -79,6 +81,10 @@ PKCS11Thread(void *data) } threadData->count++; } + + if (threadData->isSign) { + threadData->p2 = tmp; + } return; } @@ -89,6 +95,7 @@ genericThread(void *data) int iters = threadData->iters; unsigned char sigData[256]; SECItem sig; + void *tmp = NULL; threadData->status = SECSuccess; threadData->count = 0; @@ -96,6 +103,7 @@ genericThread(void *data) if (threadData->isSign) { sig.data = sigData; sig.len = sizeof(sigData); + tmp = threadData->p2; threadData->p2 = (void *)&sig; } @@ -107,6 +115,10 @@ genericThread(void *data) } threadData->count++; } + + if (threadData->isSign) { + threadData->p2 = tmp; + } return; } -- 2.40.1