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 1saCYb-007ARi-Ux for pgsql-hackers@arkaria.postgresql.org; Sat, 03 Aug 2024 11:04:18 +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 1saCYY-005GxJ-EG for pgsql-hackers@arkaria.postgresql.org; Sat, 03 Aug 2024 11:04:14 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1saCYW-005GxB-Mv for pgsql-hackers@lists.postgresql.org; Sat, 03 Aug 2024 11:04:14 +0000 Received: from fhigh8-smtp.messagingengine.com ([103.168.172.159]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1saCYS-002rDO-CP for pgsql-hackers@postgresql.org; Sat, 03 Aug 2024 11:04:10 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailfhigh.nyi.internal (Postfix) with ESMTP id B940A1151B5A for ; Sat, 3 Aug 2024 07:04:06 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sat, 03 Aug 2024 07:04:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm2; t=1722683046; x=1722769446; bh=tFQTEUKZ6Pxnw2Wt5oykZpdhvUZnf6pN W0CrGPoWIT8=; b=btOFBTjb9GY6NDY4XnfaJPt/ttze/oOL54woqm9gkJ3pAMU6 PHUBFuH1/Lj/ISit1gHoKGrya8qMswUzGlcQQ6pc0qr5noWbyap1aVHUd7upzidn V/3OslF90BVwQLZQJvnQaKBGAmDgOJL3O2nxD2ksYYrvpC/Yov00lj/2HcX2ovnE qhNyejCgpKkFkec+VQG8zMM/RtFnY+pug7L5o7/wi24+AX9hKqOHh7uN4PGTQDf6 WN9hV7ANLVgd9B8sGQeK3+++D9pcTIZa/yNdV5rSvD2cK7gsUtnCDHtzsnf7QWwA SHDMgwSUmDzPtOy5PzqmhVJxEbb4G98PZwRIlw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1722683046; x=1722769446; bh=tFQTEUKZ6Pxnw2Wt5oykZpdhvUZnf6pNW0C rGPoWIT8=; b=lPYFjlXTyy+5H5D0r309UIzHgINS4kha8WRp9a3ebXbn/amNb1C lGHjG0P0SAoMqRiT4ogRHCnMOOQTZzMxSuOI3n8D2HYyVK6nwZeRjcitzDue3ZKh ai5wcnCaCo+yPeJh213x3eFFNfB7tutGVMjRszzusLHj60Nv5dKcCSoY39GQl8BR ikBYGnW9QkW6ZlEBAx3kPG6eays1xxc/K87hDtIG/bxTuI/jvxOj8TyMkLckUamM A1K+Igxe2JsHSL4EDuXd4Xp1FNsj5j0cwCVzqgcC6HG5GPnffulWvEBFZQ1j63I+ 0n63rOgposJu3D+F5XG89rFk+YtnDbX8gLw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrkedvgdefhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurheptgfkffggfgfhuffvsehmtderredtvd ejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrsegvihhs vghnthhrrghuthdrohhrgheqnecuggftrfgrthhtvghrnhephfehgeefiefgkeduveefgf fggeelfedvjeekfeetveekgffhiedvuedvvdfggedtnecuffhomhgrihhnpehpohhsthhg rhgvshhqlhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehpvghtvghrsegvihhsvghnthhrrghuthdrohhrghdpnhgspghrtghpthht oheptd X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Sat, 3 Aug 2024 07:04:05 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------gEt00HdHcMH0mYAWjZ7GRIR7" Message-ID: Date: Sat, 3 Aug 2024 13:04:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Peter Eisentraut Subject: Fix inappropriate uses of atol() To: pgsql-hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------gEt00HdHcMH0mYAWjZ7GRIR7 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I noticed (during [0]) to some uses of the function atol() seem inappropriate. Either they assume that sizeof(long)==8 and so might truncate data if not, or they are gratuitous because the surrounding code does not use the long type. This patch fixes these, by using atoll() or atoi() instead. (There are still some atol() calls left after this, which seemed ok to me.) In the past, Windows didn't have atoll(), but the online documentation appears to indicate that this now works in VS 2015 and later, which is what we support at the moment. The Cirrus CI passes. [0]: https://www.postgresql.org/message-id/flat/5d216d1c-91f6-4cbe-95e2-b4cbd930520c@ewie.name --------------gEt00HdHcMH0mYAWjZ7GRIR7 Content-Type: text/plain; charset=UTF-8; name="0001-Fix-inappropriate-uses-of-atol.patch" Content-Disposition: attachment; filename="0001-Fix-inappropriate-uses-of-atol.patch" Content-Transfer-Encoding: base64 RnJvbSA1YjM5MDhiZmZkNWYyNzMxNTUwYzgxMGRhZGI1MGU3ZDQwZjFiODU1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogU2F0LCAzIEF1ZyAyMDI0IDEyOjI5OjUwICswMjAwClN1YmplY3Q6 IFtQQVRDSF0gRml4IGluYXBwcm9wcmlhdGUgdXNlcyBvZiBhdG9sKCkKClNvbWUgY29kZSB1 c2luZyBhdG9sKCkgd291bGQgbm90IHdvcmsgY29ycmVjdGx5IGlmIHNpemVvZihsb25nKT09 NDoKCi0gc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2Jhc2ViYWNrdXAuYzogV291bGQgbWlz Y291bnQgc2l6ZSBvZiBhCiAgdGFibGVzcGFjZSBvdmVyIDIgVEIuCgotIHNyYy9iaW4vcGdf YmFzZWJhY2t1cC9zdHJlYW11dGlsLmM6IFdvdWxkIHRydW5jYXRlIGEgdGltZWxpbmUgSUQK ICBiZXlvbmQgSU5UMzJfTUFYLgoKLSBzcmMvYmluL3BnX3Jld2luZC9saWJwcV9zb3VyY2Uu YzogV291bGQgbWlzY291bnQgZmlsZXMgbGFyZ2VyIHRoYW4gMgogIEdCIChidXQgdGhpcyBj dXJyZW50bHkgY2Fubm90IGhhcHBlbikuCgpSZXBsYWNlIHRoZXNlIHdpdGggYXRvbGwoKS4K CkluIGEgZmV3IGNhc2VzLCB0aGUgdXNlIG9mIGF0b2woKSBkaWQgbm90IHJlc3VsdCBpbiBp bmNvcnJlY3QgYmVoYXZpb3IKYnV0IHNlZW1zIGluY29uc2lzdGVudCB3aXRoIHJlbGF0ZWQg Y29kZToKCi0gc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4ZWN1dGUuYzogR3JhdHVp dG91cywgc2luY2UgaXQKICBwcm9jZXNzZXMgYSB2YWx1ZSBmcm9tIHBnX3R5cGUudHlwbGVu LCB3aGljaCBpcyBpbnQxNi4KCi0gc3JjL2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2VjcGcu dHJhaWxlcjogSW5jb25zaXN0ZW50LCBzaW5jZSB0aGUKICByZXN0IG9mIHRoZSBwcmVwcm9j IGNvZGUgdXNlcyBhdG9pKCkgZm9yIHRoaXMuCgpSZXBsYWNlIHRoZXNlIHdpdGggYXRvaSgp LgotLS0KIHNyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19iYXNlYmFja3VwLmMgICAgfCAyICst CiBzcmMvYmluL3BnX2Jhc2ViYWNrdXAvc3RyZWFtdXRpbC5jICAgICAgIHwgMiArLQogc3Jj L2Jpbi9wZ19yZXdpbmQvbGlicHFfc291cmNlLmMgICAgICAgICB8IDIgKy0KIHNyYy9pbnRl cmZhY2VzL2VjcGcvZWNwZ2xpYi9leGVjdXRlLmMgICAgfCAyICstCiBzcmMvaW50ZXJmYWNl cy9lY3BnL3ByZXByb2MvZWNwZy50cmFpbGVyIHwgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w Z19iYXNlYmFja3VwL3BnX2Jhc2ViYWNrdXAuYyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9w Z19iYXNlYmFja3VwLmMKaW5kZXggOGYzZGQwNGZkMjIuLjEyMzE1NDQyMTA3IDEwMDY0NAot LS0gYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfYmFzZWJhY2t1cC5jCisrKyBiL3NyYy9i aW4vcGdfYmFzZWJhY2t1cC9wZ19iYXNlYmFja3VwLmMKQEAgLTIwNTYsNyArMjA1Niw3IEBA IEJhc2VCYWNrdXAoY2hhciAqY29tcHJlc3Npb25fYWxnb3JpdGhtLCBjaGFyICpjb21wcmVz c2lvbl9kZXRhaWwsCiAJdGFibGVzcGFjZWNvdW50ID0gUFFudHVwbGVzKHJlcyk7CiAJZm9y IChpID0gMDsgaSA8IFBRbnR1cGxlcyhyZXMpOyBpKyspCiAJewotCQl0b3RhbHNpemVfa2Ig Kz0gYXRvbChQUWdldHZhbHVlKHJlcywgaSwgMikpOworCQl0b3RhbHNpemVfa2IgKz0gYXRv bGwoUFFnZXR2YWx1ZShyZXMsIGksIDIpKTsKIAogCQkvKgogCQkgKiBWZXJpZnkgdGFibGVz cGFjZSBkaXJlY3RvcmllcyBhcmUgZW1wdHkuIERvbid0IGJvdGhlciB3aXRoIHRoZQpkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3N0cmVhbXV0aWwuYyBiL3NyYy9iaW4v cGdfYmFzZWJhY2t1cC9zdHJlYW11dGlsLmMKaW5kZXggZmVlZTQ1MWQ1OTUuLjMwYjNkOWEz NzdlIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvc3RyZWFtdXRpbC5jCisr KyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9zdHJlYW11dGlsLmMKQEAgLTYzMSw3ICs2MzEs NyBAQCBHZXRTbG90SW5mb3JtYXRpb24oUEdjb25uICpjb25uLCBjb25zdCBjaGFyICpzbG90 X25hbWUsCiAKIAkvKiBjdXJyZW50IFRMSSAqLwogCWlmICghUFFnZXRpc251bGwocmVzLCAw LCAyKSkKLQkJdGxpX2xvYyA9IChUaW1lTGluZUlEKSBhdG9sKFBRZ2V0dmFsdWUocmVzLCAw LCAyKSk7CisJCXRsaV9sb2MgPSAoVGltZUxpbmVJRCkgYXRvbGwoUFFnZXR2YWx1ZShyZXMs IDAsIDIpKTsKIAogCVBRY2xlYXIocmVzKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19y ZXdpbmQvbGlicHFfc291cmNlLmMgYi9zcmMvYmluL3BnX3Jld2luZC9saWJwcV9zb3VyY2Uu YwppbmRleCA5Mzc4MjY2ZDI4ZS4uMDIzOWZiNDc2NDQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfcmV3aW5kL2xpYnBxX3NvdXJjZS5jCisrKyBiL3NyYy9iaW4vcGdfcmV3aW5kL2xpYnBx X3NvdXJjZS5jCkBAIC0yOTQsNyArMjk0LDcgQEAgbGlicHFfdHJhdmVyc2VfZmlsZXMocmV3 aW5kX3NvdXJjZSAqc291cmNlLCBwcm9jZXNzX2ZpbGVfY2FsbGJhY2tfdCBjYWxsYmFjaykK IAkJfQogCiAJCXBhdGggPSBQUWdldHZhbHVlKHJlcywgaSwgMCk7Ci0JCWZpbGVzaXplID0g YXRvbChQUWdldHZhbHVlKHJlcywgaSwgMSkpOworCQlmaWxlc2l6ZSA9IGF0b2xsKFBRZ2V0 dmFsdWUocmVzLCBpLCAxKSk7CiAJCWlzZGlyID0gKHN0cmNtcChQUWdldHZhbHVlKHJlcywg aSwgMiksICJ0IikgPT0gMCk7CiAJCWxpbmtfdGFyZ2V0ID0gUFFnZXR2YWx1ZShyZXMsIGks IDMpOwogCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9lY3BnL2VjcGdsaWIvZXhlY3V0 ZS5jIGIvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4ZWN1dGUuYwppbmRleCAwNGQw YjQwYzUzNy4uYzU3OGMyMWNmNjYgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2VjcGcv ZWNwZ2xpYi9leGVjdXRlLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvZWNwZy9lY3BnbGliL2V4 ZWN1dGUuYwpAQCAtMjc4LDcgKzI3OCw3IEBAIGVjcGdfaXNfdHlwZV9hbl9hcnJheShpbnQg dHlwZSwgY29uc3Qgc3RydWN0IHN0YXRlbWVudCAqc3RtdCwgY29uc3Qgc3RydWN0IHZhcmlh CiAJCQlpc2FycmF5ID0gRUNQR19BUlJBWV9OT05FOwogCQllbHNlCiAJCXsKLQkJCWlzYXJy YXkgPSAoYXRvbCgoY2hhciAqKSBQUWdldHZhbHVlKHF1ZXJ5LCAwLCAwKSkgPT0gLTEpID8g RUNQR19BUlJBWV9BUlJBWSA6IEVDUEdfQVJSQVlfVkVDVE9SOworCQkJaXNhcnJheSA9IChh dG9pKChjaGFyICopIFBRZ2V0dmFsdWUocXVlcnksIDAsIDApKSA9PSAtMSkgPyBFQ1BHX0FS UkFZX0FSUkFZIDogRUNQR19BUlJBWV9WRUNUT1I7CiAJCQlpZiAoZWNwZ19keW5hbWljX3R5 cGUodHlwZSkgPT0gU1FMM19DSEFSQUNURVIgfHwKIAkJCQllY3BnX2R5bmFtaWNfdHlwZSh0 eXBlKSA9PSBTUUwzX0NIQVJBQ1RFUl9WQVJZSU5HKQogCQkJewpkaWZmIC0tZ2l0IGEvc3Jj L2ludGVyZmFjZXMvZWNwZy9wcmVwcm9jL2VjcGcudHJhaWxlciBiL3NyYy9pbnRlcmZhY2Vz L2VjcGcvcHJlcHJvYy9lY3BnLnRyYWlsZXIKaW5kZXggYjJhYTQ0ZjM2ZGQuLjhhYzFjNWM5 ZWRhIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9lY3BnL3ByZXByb2MvZWNwZy50cmFp bGVyCisrKyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvcHJlcHJvYy9lY3BnLnRyYWlsZXIKQEAg LTIxNyw3ICsyMTcsNyBAQCBjaGFyX3ZhcmlhYmxlOiBjdmFyaWFibGUKIAkJCWVudW0gRUNQ R3R0eXBlIHR5cGUgPSBwLT50eXBlLT50eXBlOwogCiAJCQkvKiBJZiB3ZSBoYXZlIGp1c3Qg b25lIGNoYXJhY3RlciB0aGlzIGlzIG5vdCBhIHN0cmluZyAqLwotCQkJaWYgKGF0b2wocC0+ dHlwZS0+c2l6ZSkgPT0gMSkKKwkJCWlmIChhdG9pKHAtPnR5cGUtPnNpemUpID09IDEpCiAJ CQkJCW1tZXJyb3IoUEFSU0VfRVJST1IsIEVUX0VSUk9SLCAiaW52YWxpZCBkYXRhIHR5cGUi KTsKIAkJCWVsc2UKIAkJCXsKCmJhc2UtY29tbWl0OiA2NjE4ODkxMjU2NmI1NjE0ZGZmMDk1 YWU4NmY0YjFlMDZkNThlODc1Ci0tIAoyLjQ1LjIKCg== --------------gEt00HdHcMH0mYAWjZ7GRIR7--