Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ucFw7-00AqD4-Uz for pgsql-committers@arkaria.postgresql.org; Thu, 17 Jul 2025 04:09:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1ucFw5-00GCUe-WD for pgsql-committers@arkaria.postgresql.org; Thu, 17 Jul 2025 04:09:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ucFw5-00GCUW-OO for pgsql-committers@lists.postgresql.org; Thu, 17 Jul 2025 04:09:34 +0000 Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1ucFw3-008BdP-2g for pgsql-committers@lists.postgresql.org; Thu, 17 Jul 2025 04:09:33 +0000 Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-32ac42bb4e4so4783151fa.0 for ; Wed, 16 Jul 2025 21:09:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752725371; x=1753330171; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ONKUFGQl63FKRE646lnCnCQK6In/JmdOCXdXaeOmkN0=; b=TfgAr0wfUcjzOQdxxP9VrgjFVSaVIbdMVP+6e4+9LHBIYE1nO4TBtNCinCermIVwqM CAtklpIMLP9nux+NA2VFUC4dzzan1XLTUy0PjV3/GFB/zRIT30O4VBaw0/lpCsFHe+Qr 8fmGHFu+Ij9TA6O8ES0q6t4w+rvfm1/OuzJMsSarVlizpPFq3tCmjJnFa/c4scAP6YCu ivDRhhKgkyAYFNHwWBfiAF+fQOALrYjML2JsWz2XAmGBDxvr3EPKtvr6NJqKOHFXrKl8 /8bCfpvD4Fx9WG3UFsKvHwR0FgU8k0e+RckZlc4firPzZAaD9yrEQ0+n5fMjymqMWV1Z jmxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752725371; x=1753330171; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ONKUFGQl63FKRE646lnCnCQK6In/JmdOCXdXaeOmkN0=; b=Gh0Ie14sV7CS6gSUINqrphe0dDDyP3V2gOgFlXass5g/THLWPjc2rn7N3zgqeyxZ2o fDvGKCKyjtbp4E2golAavvA/znKOY8P/7DNL5LyWhomAuiXY+h7SOZms1EHCXOfOa8vb +hmuy/lUYewezKXsc5WZq26Ps4gqy7oqXwbvsnM0PBgJF/ZAIADuTB2Y15V45PPyOfRn jJFI9u9Bp1tL9xw34Vm3vWQFp20QbXWmwl6WE232J9IMtQXy5EQYO/bJFB4ZG4sEpPGq /tcXYp9cICfncthH6M/4CF5zRm5RTqU4RILz/obcaFjrGMA2A9V9/sQMxremR7d1+vw4 +nNQ== X-Forwarded-Encrypted: i=1; AJvYcCUbwvCCxPL+PXlx7IyWKRpuUyIw2Icbaf8nh6E8gW9WYh8EIVofIuhcqrt0SfLllwzXvrCYP/SGeJHr3+ATttn7@lists.postgresql.org X-Gm-Message-State: AOJu0Yy4nl+lag9R5fKNXcM+WVPSCCWs/jWCGCNWy+dTrnClrIy0hV1B szBi7iQvykTIgdb4/0xKlR69oEfLvo5An+ZD+CA/v4eAoJ48Yxo9ko4THd8qUIkoCTVQ3bzg5zD 6OIPMxxbgzvXjGQYS1qWK1pyPFVDByA8= X-Gm-Gg: ASbGncvP0bsjDiMU5ZN7ndpj2DsgPMLVanQnhyHMMMwu1/xoxG525t25bjpLmlV07sY WkeM+jJq+uIWg4J/D7jN4RJdoQqGmtqhP2uyCn60GuwtnboGgTnrNpupuUSAGPHd1TNbowl7acx 3HIrY8uIqQDBlYihITpZ05cno8bBFt2WZu+n2vsVIcA1dU3F8SXwXyackkSorxBwPKnq+MSGlRV WnIjZkHlUngx4Wu1nNiKCqr+YZY2tPmOegi4lTq X-Google-Smtp-Source: AGHT+IHhrhiTRP77iADoVTwZxHRCSTaQkTjpRkAs9hZeVaj4LsBT29Jf4VU9kdf+3qsGmpUzGyRh8Po02iYvkVNEsWg= X-Received: by 2002:a05:6512:a8d:b0:553:ac33:ff34 with SMTP id 2adb3069b0e04-55a23f0b832mr1469648e87.8.1752725370626; Wed, 16 Jul 2025 21:09:30 -0700 (PDT) MIME-Version: 1.0 References: <6c00a8b2-0c40-44f0-b603-f6ae28b7694a@eisentraut.org> <1244428.1752677780@sss.pgh.pa.us> <1330026.1752722396@sss.pgh.pa.us> In-Reply-To: <1330026.1752722396@sss.pgh.pa.us> From: David Rowley Date: Thu, 17 Jul 2025 16:09:18 +1200 X-Gm-Features: Ac12FXwU3w32TG-YPowvYCZRoAsJehAN00zuYx5DeL7KiQNXTqrPYKSLqam3ZE0 Message-ID: Subject: Re: pgsql: pg_logicalinspect: Fix possible crash when passing a directory p To: Tom Lane Cc: Peter Eisentraut , Masahiko Sawada , pgsql-committers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000001afee9063a182d97" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001afee9063a182d97 Content-Type: text/plain; charset="UTF-8" On Thu, 17 Jul 2025 at 15:19, Tom Lane wrote: > > David Rowley writes: > > I spent a bit more time searching for a solution and did find > > something that works well enough for this case in [1]. Unfortunately, > > it only works with C11. See attached .c file and output below. > > Hmph. I doubt we are ready to require C11 everywhere, but maybe > we could require it in MSVC builds? Which MSVC versions would > that eliminate? Going by [1] it's Visual Studio 2019, which as of 8fd9bb1d9 is now our minimum supported VS version. I hacked up a quick patch (attached) which compiles without any warnings. Tested on VS2012 with meson setup -Dc_std=c11. Unsure what other repercussions there are of compiling with C11 and have not looked into what it would take to adjust the meson build scripts to default to that for MSVC builds. David [1] https://devblogs.microsoft.com/cppblog/c11-and-c17-standard-support-arriving-in-msvc/ --0000000000001afee9063a182d97 Content-Type: application/octet-stream; name="v1-0001-Detect-elog-ERROR-can-t-return-in-MSVC-when-using.patch" Content-Disposition: attachment; filename="v1-0001-Detect-elog-ERROR-can-t-return-in-MSVC-when-using.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_md6vbxqf0 RnJvbSBlNGNlZDkzYjJjMzVkYjkxY2IyOGY1NjQxMDNhNzIzOGVmZDcyYjQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBSb3dsZXkgPGRncm93bGV5QGdtYWlsLmNvbT4KRGF0 ZTogVGh1LCAxNyBKdWwgMjAyNSAxNTo0OTowMyArMTIwMApTdWJqZWN0OiBbUEFUQ0ggdjFdIERl dGVjdCBlbG9nKEVSUk9SKSBjYW4ndCByZXR1cm4gaW4gTVNWQyB3aGVuIHVzaW5nIEMxMQoKLS0t CiBzcmMvYmFja2VuZC9iYWNrdXAvYmFzZWJhY2t1cF90YXJnZXQuYyB8ICAyICstCiBzcmMvaW5j bHVkZS91dGlscy9lbG9nLmggICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKy0KIDIg ZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9iYWNrdXAvYmFzZWJhY2t1cF90YXJnZXQuYyBiL3NyYy9iYWNrZW5k L2JhY2t1cC9iYXNlYmFja3VwX3RhcmdldC5jCmluZGV4IDg0YjEzMDlkM2JkLi4wYjQ4NTIxZjEw NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYmFja3VwL2Jhc2ViYWNrdXBfdGFyZ2V0LmMKKysr IGIvc3JjL2JhY2tlbmQvYmFja3VwL2Jhc2ViYWNrdXBfdGFyZ2V0LmMKQEAgLTE0Niw3ICsxNDYs NyBAQCBCYXNlQmFja3VwR2V0VGFyZ2V0SGFuZGxlKGNoYXIgKnRhcmdldCwgY2hhciAqdGFyZ2V0 X2RldGFpbCkKIAkJCSBlcnJtc2coInVucmVjb2duaXplZCB0YXJnZXQ6IFwiJXNcIiIsIHRhcmdl dCkpKTsKIAogCS8qIGtlZXAgY29tcGlsZXIgcXVpZXQgKi8KLQlyZXR1cm4gTlVMTDsKKwkvL3Jl dHVybiBOVUxMOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5o IGIvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCmluZGV4IDY3NWY0ZjVmNDY5Li5jOTNiYTgyZWNm OCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oCisrKyBiL3NyYy9pbmNsdWRl L3V0aWxzL2Vsb2cuaApAQCAtMTM3LDcgKzEzNywyMSBAQCBzdHJ1Y3QgTm9kZTsKICAqIHByZXZl bnRzIGdjYyBmcm9tIG1ha2luZyB0aGUgdW5yZWFjaGFiaWxpdHkgZGVkdWN0aW9uIGF0IG9wdGxl dmVsIC1PMC4KICAqLS0tLS0tLS0tLQogICovCi0jaWZkZWYgSEFWRV9fQlVJTFRJTl9DT05TVEFO VF9QCisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBkZWZpbmVkKF9fU1REQ19WRVJTSU9OX18p ICYmIF9fU1REQ19WRVJTSU9OX18gPj0gMjAxMTEyCisjZGVmaW5lIHBnX2J1aWx0aW5fY29uc3Rh bnQoeCkgXAorCV9HZW5lcmljKCgxID8gKCh2b2lkKikoKHgpKih1aW50cHRyX3QpMCkpIDogJihp bnQpezF9KSwgaW50KjogMSwgdm9pZCo6IDApCisjZGVmaW5lIGVyZXBvcnRfZG9tYWluKGVsZXZl bCwgZG9tYWluLCAuLi4pCVwKKwlkbyB7IFwKKwkJcGdfcHJldmVudF9lcnJub19pbl9zY29wZSgp OyBcCisJCWlmIChwZ19idWlsdGluX2NvbnN0YW50KGVsZXZlbCkgJiYgKGVsZXZlbCkgPj0gRVJS T1IgPyBcCisJCQllcnJzdGFydF9jb2xkKGVsZXZlbCwgZG9tYWluKSA6IFwKKwkJCWVycnN0YXJ0 KGVsZXZlbCwgZG9tYWluKSkgXAorCQkJX19WQV9BUkdTX18sIGVycmZpbmlzaChfX0ZJTEVfXywg X19MSU5FX18sIF9fZnVuY19fKTsgXAorCQlpZiAocGdfYnVpbHRpbl9jb25zdGFudChlbGV2ZWwp ICYmIChlbGV2ZWwpID49IEVSUk9SKSBcCisJCQlwZ191bnJlYWNoYWJsZSgpOyBcCisJfSB3aGls ZSgwKQorI2VsaWYgZGVmaW5lZChIQVZFX19CVUlMVElOX0NPTlNUQU5UX1ApCiAjZGVmaW5lIGVy ZXBvcnRfZG9tYWluKGVsZXZlbCwgZG9tYWluLCAuLi4pCVwKIAlkbyB7IFwKIAkJcGdfcHJldmVu dF9lcnJub19pbl9zY29wZSgpOyBcCi0tIAoyLjQwLjEud2luZG93cy4xCgo= --0000000000001afee9063a182d97--