From patchwork Fri Mar 22 19:04:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pedro Alves X-Patchwork-Id: 87538 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 684BF3858412 for ; Fri, 22 Mar 2024 19:05:39 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by sourceware.org (Postfix) with ESMTPS id 5C0663858D32 for ; Fri, 22 Mar 2024 19:04:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5C0663858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5C0663858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134278; cv=none; b=n01oDnYZT1faetRgWWBMPReCcUWCH8rHiNnjjHq6fPN2Hf8sUdP2knk2JYnkldHeyrjxUSvxv5sR98DHVycO9XHZ6W+i4bLhAHZYI1YDH6QBrZXVzDfhjq6M/K+suXj1oY3Bc1Xwcc4d00+WNYDZhzeXTxJsTWJElhRI9ejJozg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134278; c=relaxed/simple; bh=eQXa46t7Zy5rG5wF23pCk+dDy3g2biM9immruxiazmM=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=ZNJJ2gDdsfe5tVwyFL1NoOj1JvaGQnEQprH79sv+vsa4Sc0nQbnkJ73u4ZWlSy72U/+t8X7V4wdQ9pivRIh9a4wPDFYoGRtgS3bXnebQU9/qazsX+U08OokVp4Vsa4b1qKvM/JQRpiaZ6suSMh1oGguIAcSrJoBUp8AtTHv/BjI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-34169f28460so1367282f8f.2 for ; Fri, 22 Mar 2024 12:04:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711134271; x=1711739071; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mMUBrr0zbFXVGUz8Kia1IQwQV3J7Cl4tQY2saY6cfEs=; b=oNYthZmDuP8HmJ8MeeccG2MkmByZwnXNtn72EidGdkjqHQ2syFMbWcpy8le34kKp4l TA8SZWgwXQYjEXvS1E/zlbIxVi3okQXILpAHxhnYmFVIqDb55hvtozSjvIFo2Oc/X8j5 OrOAHuUqMTbufNjihuHPQMp39jNt1jNIUTkKYAe3KF3p2xD5uTLQwfoz+E+bY7v2uN5P LngmBpJhtPYN5b3QfOvcNp6yMJkEUxyzg7UimtuI+Vv2i5tyN/zJ9DXvFnANJQVC2GxP 30+zYa7O9oUS7ikh8SC6WzJ73CqjsriOJXDJ+FO3tUv4xluWkeObeEeOMVFD7VreWMbr Y+tQ== X-Gm-Message-State: AOJu0YyZ6Ej/73jvALf+BL3sokXslmGrf+vmvElqXKD0gZ45+TtCJQ6d /Q01yshGHhtUGZRGgRNr1rImgXtIyCY2XCASc+QSX7YWRnsFd+c2mxfXnS04 X-Google-Smtp-Source: AGHT+IE/F6MukyvpfCzSGSQ3QF5P2inAOU8eGDjc9nNpV7LWsdcMce0A6Srml81LQfSybKhPdTn9MA== X-Received: by 2002:adf:e902:0:b0:341:7269:e4d0 with SMTP id f2-20020adfe902000000b003417269e4d0mr202774wrm.54.1711134270823; Fri, 22 Mar 2024 12:04:30 -0700 (PDT) Received: from localhost ([2001:8a0:f918:ab00:3ba9:feec:1922:9a68]) by smtp.gmail.com with UTF8SMTPSA id fa18-20020a05600c519200b00414612a43a9sm308070wmb.28.2024.03.22.12.04.30 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Mar 2024 12:04:30 -0700 (PDT) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 1/4] Remove SO_NAME_MAX_PATH_SIZE limit from core solib code Date: Fri, 22 Mar 2024 19:04:21 +0000 Message-ID: <20240322190424.1231540-2-pedro@palves.net> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240322190424.1231540-1-pedro@palves.net> References: <20240322190424.1231540-1-pedro@palves.net> MIME-Version: 1.0 X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org solib_map_sections errors out if the library file name is longer than SO_NAME_MAX_PATH_SIZE. solib::so_name and solib::so_original_name used to be arrays of SO_NAME_MAX_PATH_SIZE size, so that check made sense then. However, since commit 98107b0b17ac ("gdb: make so_list::{so_original_name,so_name} std::strings") those fields are of std::string type, so there's really no need for the limit. This commit simply removes the length limit check. Change-Id: I2ec676b231cd18ae900c61c5caea461f47e989e6 --- gdb/solib.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gdb/solib.c b/gdb/solib.c index 952897c37fc..9497f5d3099 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -591,8 +591,6 @@ solib_map_sections (solib &so) the library's host-side path. If we let the target dictate that objfile's path, and the target is different from the host, GDB/MI will not provide the correct host-side path. */ - if (strlen (bfd_get_filename (so.abfd.get ())) >= SO_NAME_MAX_PATH_SIZE) - error (_ ("Shared library file name is too long.")); so.so_name = bfd_get_filename (so.abfd.get ()); so.sections = build_section_table (so.abfd.get ()); From patchwork Fri Mar 22 19:04:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pedro Alves X-Patchwork-Id: 87536 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8E7BD3858292 for ; Fri, 22 Mar 2024 19:05:15 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by sourceware.org (Postfix) with ESMTPS id ACCA5385840E for ; Fri, 22 Mar 2024 19:04:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ACCA5385840E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ACCA5385840E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134281; cv=none; b=PqDIcpltf6cStb9mxNXw87Zv0NQ6XpJDf2HVWcUDCOgwdC60v9BsAoUx9PjXJKy9YXzcP7zUQKOTvGY580rPxVXK2pyAl2f58DmsqTwwqHjElE8wxe/7C45OD3UzXDIT3Ww0gX7SVvKqzNkDAI1QXfdobri3+Iobw2lLLkRCa98= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134281; c=relaxed/simple; bh=79F5DGLdThi5lbquVZyefE30Xic6J4p+8UDlgp0EB18=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=dXM5Z8vs095pdqp7nSJgPJjF5ubequFFkErtsSqXVgkDrFPV5A2HNx6sKk6VUpTEqAMNTZCFMfplmgmz3daF4UeKOb0xkyyP0ofmFRk6x3JveRKyRP9V5bmo6570aXvuYtRNgfC0PMT7mEECgkdklGZy4apCeW91uHldOtsggiQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-33e1d327595so1841849f8f.2 for ; Fri, 22 Mar 2024 12:04:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711134273; x=1711739073; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rSgkSkDJXzorJTJs1ZkvzfOd6Ygdg6RMgmc+ocxYzCM=; b=JFHPiTcF7t6hQ8roC95sMs56Xc3PVt8bDasen4mjwOfbJnxJfNqVYG6KVGEUCFEyiR 7heuInQznu4x/B4SSO9MBNkYXiyZ6kx/0Z5TjC6T4c4EXgMxLBa0acf47MRtkQtQYgG8 6j5noAgt/eSY0AGqw9JxDx56GziNBsK83Xj+22TRRvi1csBKNhBZy50ISDzjJxnfRQy0 bfyiP9SFasuQrwIu22SfeLWP9yLkSBA6zw1ClCHP5Y1QniSMaje8ZRZyZa3RPK0VAj2L bGtnEZpQiGjuUE/03r1KC8nFKyjPDvmDwtXaCgqmGc3V4C6EEeuWHEvDTGK0InPRghDY DInA== X-Gm-Message-State: AOJu0YzMR0gPtBRSqhZDf/N8Yp9tnsJrULzRxYo+3JV3QwkXFS+1xBL1 DDqlJcOeFilJPHQY3h+F1ZKsZq56ldaEc6Ao7xisZKFV0UuQdwkuh3WiWqmI X-Google-Smtp-Source: AGHT+IFHds5zWRwqvOakF5FxEwt5z2hbXsOISRvt/D5zvR3BkER//2aJB4gzmkJwBDJlN4Gd8Fga2Q== X-Received: by 2002:a05:6000:bd0:b0:33e:7fbd:5a1f with SMTP id dm16-20020a0560000bd000b0033e7fbd5a1fmr220671wrb.62.1711134273239; Fri, 22 Mar 2024 12:04:33 -0700 (PDT) Received: from localhost ([2001:8a0:f918:ab00:3ba9:feec:1922:9a68]) by smtp.gmail.com with UTF8SMTPSA id bp10-20020a5d5a8a000000b0033dedd63382sm2708444wrb.101.2024.03.22.12.04.32 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Mar 2024 12:04:32 -0700 (PDT) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 2/4] Simplify windows-nat.c:windows_make_so #ifdefery Date: Fri, 22 Mar 2024 19:04:22 +0000 Message-ID: <20240322190424.1231540-3-pedro@palves.net> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240322190424.1231540-1-pedro@palves.net> References: <20240322190424.1231540-1-pedro@palves.net> MIME-Version: 1.0 X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org There are two separate #ifndef __CYGWIN__/#else/#endif sections in the windows_make_so function with 3 lines of shared code separating them. I find this makes the code harder to understand than necessary. AFAICS, there is no reason those three shared lines need to be after the first #ifdef block. There is no early return, nor are 'load_addr' nor 'name' modified. This commit moves that shared code to the top of the function, and then combines the two #ifndef sections. Change-Id: If2678b52836b1c3134a5e9f9fdaee74448d8b7bc --- gdb/windows-nat.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index a90388922e2..a01011248c1 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -826,6 +826,10 @@ windows_nat_target::store_registers (struct regcache *regcache, int r) static windows_solib * windows_make_so (const char *name, LPVOID load_addr) { + windows_solib *so = &windows_process.solibs.emplace_back (); + so->load_addr = load_addr; + so->original_name = name; + #ifndef __CYGWIN__ char *p; char buf[__PMAX]; @@ -854,6 +858,8 @@ windows_make_so (const char *name, LPVOID load_addr) GetSystemDirectory (buf, sizeof (buf)); strcat (buf, "\\ntdll.dll"); } + + so->name = buf; #else wchar_t buf[__PMAX]; @@ -866,13 +872,6 @@ windows_make_so (const char *name, LPVOID load_addr) wcscat (buf, L"\\ntdll.dll"); } } -#endif - windows_solib *so = &windows_process.solibs.emplace_back (); - so->load_addr = load_addr; - so->original_name = name; -#ifndef __CYGWIN__ - so->name = buf; -#else if (buf[0]) { char cname[SO_NAME_MAX_PATH_SIZE]; From patchwork Fri Mar 22 19:04:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pedro Alves X-Patchwork-Id: 87535 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1D62338582B2 for ; Fri, 22 Mar 2024 19:05:09 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by sourceware.org (Postfix) with ESMTPS id E6A643858422 for ; Fri, 22 Mar 2024 19:04:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E6A643858422 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E6A643858422 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134278; cv=none; b=Jrt+LNRxQZGusBEMKCfXniyfRqu6mHJ5VW/Eq3IU42ua/G5xu1WT6vg+ihP5/27klMwJGtMqujzz6hmj1YwF6WNmuuBRKcEw0zEmDCk53N0MUy431/EDHVUBKhi+W3NYalIbTeyioE498bXBKJYRGudDuIx6/Ez5si6SGwemKyY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134278; c=relaxed/simple; bh=ytbfJGR5r40OSMNy8UnyM04bt2qd52YxwGCH/f6yq/w=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=u4857z0y3rf6YH1JC1jE4Kr3rByUSytqrBKeERnny9XhOzMYxcB4OWEHG8fRFeKfZDNsVZxZhFvOMrKEFx8PyZAFQAxfYRRcbC1wHEXaFH05Z56aZCZYzTLXp9aq+QqDNKgt7kSmvVhmgmsgPeXO6xJ0296SPtZExpqQfrdqTEY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-33ed4d8e9edso1509586f8f.2 for ; Fri, 22 Mar 2024 12:04:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711134275; x=1711739075; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vGh6S1XN91/wrSeItP08uLPVAmT1VmJJfBaTBFAzR44=; b=U4h0wBaK6ZragjcmvzYjQH/S4egEj5bpr96OJRXb18m32Xs7VczWqbvAY/0t4xeaDJ +sLWUpvGWk0hnlO/wFcpO4M3JwHqBMMaI+ILEbpFztbO5u/raul8+RvDI6T6ceQGog8t LN5+NQ/ekcL8DDWtpVLsAZMxvraTkP5+OTy6ElTLdXe4Hv5Ses6wGqWkDVCB6DRHAPrR ApNOMXjAN6oV4r2MZ34ejSMKcfHNaIOjd4idO0LBLnRGvpXeTZL74hiwGzf0MKFZcMnz /rlk26/Tx6+AvsZP5iK9oZE2cSSnI38B1+PivB3c37lJGj5BWuc8aJW+TLbuRd4MdS8d tNcg== X-Gm-Message-State: AOJu0YxczVX3Ng5txA5PyNAItHZMFjN0DnxFulF/5dEj0u+f2pOG47jd bCuqZcDTnpRHC/l7z26oo4bHiRM3qJoXbygMgpp0FLYmWWbpZo1Z+tBTl461 X-Google-Smtp-Source: AGHT+IF57hnqyOh+gLQzyHbkJmUrzRdITN2mIsq8VWhmXXB+9OGC7IBrbV4EMSEsLZFhE4MXve/upw== X-Received: by 2002:adf:f28a:0:b0:33e:77b5:746d with SMTP id k10-20020adff28a000000b0033e77b5746dmr204443wro.18.1711134275509; Fri, 22 Mar 2024 12:04:35 -0700 (PDT) Received: from localhost ([2001:8a0:f918:ab00:3ba9:feec:1922:9a68]) by smtp.gmail.com with UTF8SMTPSA id t15-20020a5d690f000000b0033e95bf4796sm2671921wru.27.2024.03.22.12.04.34 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Mar 2024 12:04:35 -0700 (PDT) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 3/4] windows-nat: Remove SO_NAME_MAX_PATH_SIZE limit Date: Fri, 22 Mar 2024 19:04:23 +0000 Message-ID: <20240322190424.1231540-4-pedro@palves.net> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240322190424.1231540-1-pedro@palves.net> References: <20240322190424.1231540-1-pedro@palves.net> MIME-Version: 1.0 X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org There is no need to limit shared library path sizes to SO_NAME_MAX_PATH_SIZE nowadays. windows_solib::name and windows_solib::original_name are std::strings nowadays, and so are solib::so_name and solib::so_original_name in the core solib code. This commit reworks the code to remove that limit. This also fixes a leak where we were not releasing 'rname' in the realpath branch if the 'rname' string was larger than SO_NAME_MAX_PATH_SIZE. Note: I tested the cygwin_conv_path with a manual hack to force that path, and then stepping through the code. You only get to that path if Windows doesn't report an absolute path for ntdll.dll, and on my machine (running Windows 10), it always does. Change-Id: I79e9862d5a7646eebfef7ab5b05b96318a7ca0c5 --- gdb/windows-nat.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index a01011248c1..278bfb0e1f1 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -874,22 +874,32 @@ windows_make_so (const char *name, LPVOID load_addr) } if (buf[0]) { - char cname[SO_NAME_MAX_PATH_SIZE]; - cygwin_conv_path (CCP_WIN_W_TO_POSIX, buf, cname, - SO_NAME_MAX_PATH_SIZE); - so->name = cname; + bool ok = false; + + /* Check how big the output buffer has to be. */ + ssize_t size = cygwin_conv_path (CCP_WIN_W_TO_POSIX, buf, nullptr, 0); + if (size > 0) + { + /* SIZE includes the null terminator. */ + so->name.resize (size - 1); + if (cygwin_conv_path (CCP_WIN_W_TO_POSIX, buf, so->name.data (), + size) == 0) + ok = true; + } + if (!ok) + so->name = so->original_name; } else { char *rname = realpath (name, NULL); - if (rname && strlen (rname) < SO_NAME_MAX_PATH_SIZE) + if (rname != nullptr) { so->name = rname; free (rname); } else { - warning (_("dll path for \"%s\" too long or inaccessible"), name); + warning (_("dll path for \"%s\" inaccessible"), name); so->name = so->original_name; } } From patchwork Fri Mar 22 19:04:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pedro Alves X-Patchwork-Id: 87537 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CAB103858298 for ; Fri, 22 Mar 2024 19:05:18 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by sourceware.org (Postfix) with ESMTPS id 5C6D93858415 for ; Fri, 22 Mar 2024 19:04:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5C6D93858415 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5C6D93858415 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134292; cv=none; b=j9LauTB33W2TdtUdXff+UcO8UG0aaHHPAACZBnVFPtDs1875HQmjnBN4bCfDDFJhxm6wvi5/010iXWzoT08YePAP+nvpDu+9WRWRBPUi6C2QR/EQsE5f1xBUOI3HsRCicXmf/upBiBhGfO49w8NTlQbtnRj0MZBOrVTbVB3ja4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711134292; c=relaxed/simple; bh=nyzLxGoXlu6SoSfqmn1ZKp9CTWGsO4cqKB4nfSPU5jE=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=oNm4ojCKimirfV2G67p014eyk9iuu1/xd2JdZn86V67/1cSq9DWee2GC/HdII2xZ04A/IPJepY+mL27KHUuFaB7oFqSsiyvXmw9f859CH11u1oiEpBM6FR8is8RbBDYDM+FW9U+2UBp7L1Ca4h20r0uo8e7xm/A2Wtn3VmCXAHI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-341808b6217so1392175f8f.3 for ; Fri, 22 Mar 2024 12:04:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711134277; x=1711739077; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D2QjPzhIMMk2yvetYV0ZGFU3P5mu8s+fPGGEuGbARj4=; b=KlN3lhhe9wrLzHZ1ve8UoKqVJ6cnnE6YyiiM3qEIuLoHlrQYd8hb9KnvcpS2WJaS+D YVlglTAx2GN7gDUx7vON+vjoLIx4xPDqT7sG4Qw9hMaTYzJVgeY2bPCzy+HZ7ElRi6Ls zB4lw14IrgltbFyJjbug6rA0RQngy7QWoZ0/g7Z1733NpdFfaycb8Di9pHci3CLCZjwS nHIa4y+ItTBq945SpIZBQC451VXdkdOUxw5en2h4fjU9If6I+4bbTvNxPbU503Vs8pI6 b4yKU3fA1GghxrDC1Jed32ldKsAc+xzwAau5tEG3ApN8ArZWXs5Jmo1MCTgnuLYvdbJg yZwA== X-Gm-Message-State: AOJu0YwPoHX7w4+Sf2YQnxuS4QsgW6xw9zoow7PLKjLsrxX/NijPWzJM x2Wi7QlZNG0ikbXpcThOgNHQoE/WRE1HOG3czEI0TAbHVqlFEaJ3oQtL0NbD X-Google-Smtp-Source: AGHT+IGlM9qFaFXdqBch3uf0p1KbDKFNgZFAJ/ecrxJ2JeT3U4lrFbaf5Nw35x83D4oRZ3MoIOhiNw== X-Received: by 2002:a05:6000:1952:b0:33e:767a:c3a2 with SMTP id e18-20020a056000195200b0033e767ac3a2mr196098wry.17.1711134276933; Fri, 22 Mar 2024 12:04:36 -0700 (PDT) Received: from localhost ([2001:8a0:f918:ab00:3ba9:feec:1922:9a68]) by smtp.gmail.com with UTF8SMTPSA id cr1-20020a05600004e100b0033b48190e5esm2657007wrb.67.2024.03.22.12.04.36 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Mar 2024 12:04:36 -0700 (PDT) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 4/4] windows-nat: Use gdb_realpath Date: Fri, 22 Mar 2024 19:04:24 +0000 Message-ID: <20240322190424.1231540-5-pedro@palves.net> X-Mailer: git-send-email 2.43.2 In-Reply-To: <20240322190424.1231540-1-pedro@palves.net> References: <20240322190424.1231540-1-pedro@palves.net> MIME-Version: 1.0 X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Use gdb_realpath instead of realpath in windows-nat.c:windows_make_so, so that we don't have to manually call free. Change-Id: Id3cda7e177ac984c9a5f7c23f354e72bd561edff --- gdb/windows-nat.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 278bfb0e1f1..ee38b985efa 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -891,12 +891,9 @@ windows_make_so (const char *name, LPVOID load_addr) } else { - char *rname = realpath (name, NULL); + gdb::unique_xmalloc_ptr rname = gdb_realpath (name); if (rname != nullptr) - { - so->name = rname; - free (rname); - } + so->name = rname.get (); else { warning (_("dll path for \"%s\" inaccessible"), name);