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 1rJZZl-00EBXb-Cl for pgsql-hackers@arkaria.postgresql.org; Sat, 30 Dec 2023 13:40:29 +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 1rJZZj-0007dA-RY for pgsql-hackers@arkaria.postgresql.org; Sat, 30 Dec 2023 13:40:27 +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 1rJZZj-0007d1-HX for pgsql-hackers@lists.postgresql.org; Sat, 30 Dec 2023 13:40:27 +0000 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rJZZh-00Ef0N-8z for pgsql-hackers@postgresql.org; Sat, 30 Dec 2023 13:40:26 +0000 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-40d41555f9dso78296755e9.2 for ; Sat, 30 Dec 2023 05:40:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703943623; x=1704548423; darn=postgresql.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=TYS3DHibo11L1umD6ZyZUnoNb6qCLe+rShm/g+WM5hA=; b=O4iLLdIIQf4hSiGCTBY/JM2kgPs+aZtPjAZgGQO1u/AVeM3cZA/ZnAKD+jzK22HaAJ guTyVpLqc5U81l9L0EwrwrH8gpzqg6lgflFz9VXfedVLFh6PNNPR0l+MVMLS6iFlXZIW q4z5WpCBMWPImWWSthK6/jK0h49JUGA2OLIIHdIuXHW4ZfpsJeuUhH6kBwr178d1mfoX cnZPKvE3kBia6yEQvvJYHsQRgxHgK0+w5qpdoq1eKL9jQNR3FeTr6HwkzcdTJhm2FA7p 81o6MvgwTZ0k4Czn+IxXZ+qIrlj9rwsWjDHhFKAwevcl+MaSoJzwviAHNJpc0kUHaYNq dXYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703943623; x=1704548423; h=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=TYS3DHibo11L1umD6ZyZUnoNb6qCLe+rShm/g+WM5hA=; b=LLq0mBSoTIT517fSHyqLkfNjpG+Wgj0mwdjjEx+M779+RBdLpTMUkNBofmkuLxL3zL Utl4NmONtSULniFl5Qb6arwNJnjC2DAgbfNSn7f5i2dl1Mj5tju9hoHMA54cU0V/0LJu GRjna/6KDhdjF1HKKZ1IUPLxebA3ROZ8sthbUn+UOjOiZkFmsOYP5nWBjEvPpGCA0aYs XpRGIhHpvRwAgyqnFLq0Suh8XwglevnO2142lX14sXJdsXpslGJwapVAt4xBee2Lbolw P77ftOH3newCLI2nFfBIBq8XhJirN9eRMiHitnk+8OYttrOIFpaiLt1O9VH8oeEX/Cu1 MMGA== X-Gm-Message-State: AOJu0YzMD+ksJxsXof/N/1Q39NCKO9vKNqG3AxzzDi1L1MV8rn2kYPaB I+pv59PAXdm8785+iutpnvTPF7BzZm35oSihB89R1AV+ X-Google-Smtp-Source: AGHT+IElBLgx25ES3EX93tuCXxYTfohpzPQI523qgKk7fKGvikZzepqIleDVttxp5XU4BEvnVmQF2uuhd/XYGUlCNqE= X-Received: by 2002:a05:600c:211a:b0:40d:6221:869b with SMTP id u26-20020a05600c211a00b0040d6221869bmr2309471wml.135.1703943623355; Sat, 30 Dec 2023 05:40:23 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Ranier Vilela Date: Sat, 30 Dec 2023 10:40:11 -0300 Message-ID: Subject: Re: Windows sockets (select missing events?) To: Pg Hackers Content-Type: multipart/mixed; boundary="0000000000006382ea060dba4a54" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000006382ea060dba4a54 Content-Type: multipart/alternative; boundary="0000000000006382e8060dba4a52" --0000000000006382e8060dba4a52 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Em qui., 28 de dez. de 2023 =C3=A0s 14:45, Ranier Vilela escreveu: > Hi, > > The type of field fd_count is defined in winsock.h: > typedef unsigned int u_int; > > So in the struct fd_set, > the field fd_count is unsigned int. > > The pgwin32_select function has loops that use *int* as indices. > > Question: in Windows, the socket select function isn't missing some event= s? > > If not, It would be a good prevention practice, using the correct type, > right? > > Patch attached. > Fix overflow with patch. best regards, Ranier Vilela --0000000000006382e8060dba4a52 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Em qui., 28 de dez. de 2023 =C3=A0s 14:45, Ranier Vilela <ranier.vf@gmail.com> escreveu:
Hi,

The type of field fd_count is defined in wins= ock.h:
typedef unsigned int =C2=A0 =C2=A0u_int;

So in the struct fd_set,
the field fd_count is unsign= ed int.

The=20 pgwin32_select=C2=A0 function has loops that use *int* as indices.

=
Question: in Windows, the socket select function isn't missi= ng some events?
=C2=A0
If not, It would be a good preve= ntion practice, using the correct type, right?

Pat= ch attached.
Fix overflow with patch.

best regards,
Ranier Vilela
--0000000000006382e8060dba4a52-- --0000000000006382ea060dba4a54 Content-Type: application/octet-stream; name="v1-001-fix-socket-select-events.patch" Content-Disposition: attachment; filename="v1-001-fix-socket-select-events.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lqs40lh00 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BvcnQvd2luMzIvc29ja2V0LmMgYi9zcmMvYmFja2Vu ZC9wb3J0L3dpbjMyL3NvY2tldC5jCmluZGV4IDljMzM5Mzk3ZDEuLjE4ZGM4ZDk2ODYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3BvcnQvd2luMzIvc29ja2V0LmMKKysrIGIvc3JjL2JhY2tlbmQv cG9ydC93aW4zMi9zb2NrZXQuYwpAQCAtNTE5LDggKzUxOSw4IEBAIHBnd2luMzJfc2VsZWN0KGlu dCBuZmRzLCBmZF9zZXQgKnJlYWRmZHMsIGZkX3NldCAqd3JpdGVmZHMsIGZkX3NldCAqZXhjZXB0 ZmRzLCBjCiAJCQkJCQkJCQkJICogZGlmZmVyZW50IGZyb20gd3JpdGVmZHMsIHNvCiAJCQkJCQkJ CQkJICogMipGRF9TRVRTSVpFIHNvY2tldHMgKi8KIAlTT0NLRVQJCXNvY2tldHNbRkRfU0VUU0la RSAqIDJdOwotCWludAkJCW51bWV2ZW50cyA9IDA7Ci0JaW50CQkJaTsKKwl1X2ludAkJbnVtZXZl bnRzID0gMDsKKwl1X2ludAkJaTsKIAlpbnQJCQlyOwogCURXT1JECQl0aW1lb3V0dmFsID0gV1NB X0lORklOSVRFOwogCUZEX1NFVAkJb3V0cmVhZGZkczsKQEAgLTYxOCw3ICs2MTgsNyBAQCBwZ3dp bjMyX3NlbGVjdChpbnQgbmZkcywgZmRfc2V0ICpyZWFkZmRzLCBmZF9zZXQgKndyaXRlZmRzLCBm ZF9zZXQgKmV4Y2VwdGZkcywgYwogCQl7CiAJCQlUcmFuc2xhdGVTb2NrZXRFcnJvcigpOwogCQkJ LyogcmVsZWFzZSBhbHJlYWR5LWFzc2lnbmVkIGV2ZW50IG9iamVjdHMgKi8KLQkJCXdoaWxlICgt LWkgPj0gMCkKKwkJCXdoaWxlIChpLS0gPj0gMCkKIAkJCQlXU0FFdmVudFNlbGVjdChzb2NrZXRz W2ldLCBOVUxMLCAwKTsKIAkJCWZvciAoaSA9IDA7IGkgPCBudW1ldmVudHM7IGkrKykKIAkJCQlX U0FDbG9zZUV2ZW50KGV2ZW50c1tpXSk7 --0000000000006382ea060dba4a54--