From nobody Sun Nov 24 01:14:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1728057882690392.6887826563333; Fri, 4 Oct 2024 09:04:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1swkn0-0001w3-8j; Fri, 04 Oct 2024 12:04:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1swkmU-0001nw-4J; Fri, 04 Oct 2024 12:03:53 -0400 Received: from isrv.corpit.ru ([86.62.121.231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1swkmS-0001WF-Jh; Fri, 04 Oct 2024 12:03:49 -0400 Received: from tsrv.corpit.ru (tsrv.tls.msk.ru [192.168.177.2]) by isrv.corpit.ru (Postfix) with ESMTP id E05B195567; Fri, 4 Oct 2024 19:03:29 +0300 (MSK) Received: from tls.msk.ru (mjt.wg.tls.msk.ru [192.168.177.130]) by tsrv.corpit.ru (Postfix) with SMTP id 2663114D975; Fri, 4 Oct 2024 19:03:32 +0300 (MSK) Received: (nullmailer pid 1282508 invoked by uid 1000); Fri, 04 Oct 2024 16:03:32 -0000 From: Michael Tokarev To: qemu-devel@nongnu.org Cc: Akihiko Odaki , qemu-trivial@nongnu.org, Michael Tokarev Subject: [PULL 02/23] qemu-keymap: Release local allocation references Date: Fri, 4 Oct 2024 19:03:10 +0300 Message-Id: <20241004160331.1282441-3-mjt@tls.msk.ru> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241004160331.1282441-1-mjt@tls.msk.ru> References: <20241004160331.1282441-1-mjt@tls.msk.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=86.62.121.231; envelope-from=mjt@tls.msk.ru; helo=isrv.corpit.ru X-Spam_score_int: -68 X-Spam_score: -6.9 X-Spam_bar: ------ X-Spam_report: (-6.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1728057886216116600 From: Akihiko Odaki Commit 2523baf7fb4d ("qemu-keymap: Make references to allocations static") made references to allocations static to ensure LeakSanitizer can track them. This trick unfortunately did not work with gcc version 14.0.1; that compiler is clever enough to know that the value of the "state" variable is only referred in the current execution of the function and to put it on the stack. Release references to allocations and suppress the error once for all. Signed-off-by: Akihiko Odaki Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- qemu-keymap.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/qemu-keymap.c b/qemu-keymap.c index 701e4332af..6707067fea 100644 --- a/qemu-keymap.c +++ b/qemu-keymap.c @@ -154,9 +154,9 @@ static xkb_mod_mask_t get_mod(struct xkb_keymap *map, c= onst char *name) =20 int main(int argc, char *argv[]) { - static struct xkb_context *ctx; - static struct xkb_keymap *map; - static struct xkb_state *state; + struct xkb_context *ctx; + struct xkb_keymap *map; + struct xkb_state *state; xkb_mod_index_t mod, mods; int rc; =20 @@ -213,6 +213,7 @@ int main(int argc, char *argv[]) =20 ctx =3D xkb_context_new(XKB_CONTEXT_NO_FLAGS); map =3D xkb_keymap_new_from_names(ctx, &names, XKB_KEYMAP_COMPILE_NO_F= LAGS); + xkb_context_unref(ctx); if (!map) { /* libxkbcommon prints error */ exit(1); @@ -234,6 +235,8 @@ int main(int argc, char *argv[]) =20 state =3D xkb_state_new(map); xkb_keymap_key_for_each(map, walk_map, state); + xkb_state_unref(state); + xkb_keymap_unref(map); =20 /* add quirks */ fprintf(outfile, --=20 2.39.5