X-Original-To: alpine-devel@lists.alpinelinux.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00138.outbound.protection.outlook.com [40.107.0.138]) by lists.alpinelinux.org (Postfix) with ESMTP id 2AEB85C4FC3 for ; Thu, 31 May 2018 19:00:33 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j8YN710MCJuK1cd/vZ0rKqEGrnPYZWFUsefFqHiTEz8=; b=CMhkFtIGtLrRKghmkmiUtkmARFrrN5zLq/693bRsyy4YDkR0LFJvPZLAzaAp9PB7+XvRJLa6tsWFa4fTwW9o6lRQ00QTMDvTR06C0L8CE8CAoCorTVYGaMN1uyyAFAcnIxqC7guIcxaBiDyDyeseN2Lwkvnm/UlxMytEWmkQ0ig= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=avagin@virtuozzo.com; Received: from outlook.office365.com (4.16.175.162) by AM6PR08MB3254.eurprd08.prod.outlook.com (2603:10a6:209:47::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.11; Thu, 31 May 2018 19:00:31 +0000 Date: Thu, 31 May 2018 12:00:22 -0700 From: Andrei Vagin To: musl@lists.openwall.com, Laurent Bercot Cc: alpine-devel@lists.alpinelinux.org Subject: [alpine-devel] Re: [PATCH] scanf: handle the L modifier for integers Message-ID: <20180531190021.GA9758@outlook.office365.com> References: <20180531064719.6805-1-avagin@virtuozzo.com> X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20180531064719.6805-1-avagin@virtuozzo.com> User-Agent: Mutt/1.9.3 (2018-01-21) X-Originating-IP: [4.16.175.162] X-ClientProxiedBy: HE1P192CA0021.EURP192.PROD.OUTLOOK.COM (2603:10a6:3:fe::31) To AM6PR08MB3254.eurprd08.prod.outlook.com (2603:10a6:209:47::19) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:AM6PR08MB3254; X-Microsoft-Exchange-Diagnostics: 1;AM6PR08MB3254;3:s5sHWOaFoX1g3fuDZ26fMQZ3ieLB+pxtbTGB3VPQu9QI2X76e2bEqnSSb61Sw0SS6fYk2KFeP9U17/lI7BqByNKYhiO5KCZJTWx90xbNxRAhBUByCxlkgqi+SawLutWrKRBLD9nOa9qmXkEOrIm4AdyOOVZ1gFuOZ2oNtBsDuO/v/SbsFj1QwdhuQ1LPuKlh9ZGFPxDtBIyPWO3FdtwitHOK4kZj3dRGgVNnNMs/LYqgyGAdlveR7olqVNmP7s34;25:wSv+3f20XvG8uEy6TilJ8r8B23IMlv+U1cYZ8XxJsEVCwPL3QcjH6QJ5vAodOyI/P34pD325yH+PQjwwgKhCwLShfkiX3QXE/5+BGOIfqKCX8Dtm5ufvnKmPADK6hNDNt5PMsklMfbD2zXjSjDLXaUMi6BGQTVUEkahfjASS0riIw8huVSjjnNZlY3fl0MoItuvZ+DSdn+mBYPGVUBHw21OtLwmg2TXbrxtNdptxnS5BffRljOgQkkPwh7cyhCO2dm27auFK+NMN0Tm26W+CIglS/DseOsIXISfNPk/9stMxleOBHpvXZkIkPqAj02OGSN27QDCobCg7mgu8cgK1pQ==;31:43EgoSkEpPS0vadSrv7MINWoCE3Q2CplwNN1fVYsIiFkISoJZdAz7nIGuyinZWFpPjTtTncLzr8h0oicZKs66bNIwueguXCVE5Es4Pcwdz3qrinAXyGtQho395594JzCibdRYG/eV+xSDnsXzV+UYb08z1BDUqAPic2rOwDyW6fargfI6bPuJ38BsBPtWCOlmFjMi2JNnzy7735gMr080ViO8s1OYh/qRfRC3Oi9ud4= X-MS-TrafficTypeDiagnostic: AM6PR08MB3254: X-Microsoft-Exchange-Diagnostics: 1;AM6PR08MB3254;20:oFkORaRmP/Uh2kWMc8Gd0xguH87GkkEgKaV35EJjeqOonXWdMhM0xi7O5V0Zsq+sO3xw0TEO0n0NvJJ5Xu5d9rc8zhkjuhvWZxM26jNE6bJ+JIyE9shG+AHrTGy1wQoXXJ16UB13N2Y/mmah33fLFkixpIJ8eHiNTfVYPVQUk/CQNR23GQ7klfnjBNteVyMIAeRauE44zoSn4eu8gsB0JwTV95rrm/UD+i1YGYRrORri5JywF5rmxtHx/I6ghKgJUG9IYU15L1gcQ7MvowafcBrjtaeiwVBDQ1CWGrA9ETIax0Mcw8zuMpgTOZ1nrvneCL68eImxGpnyTLsrhOYJ1gaZj+bJld6tNbIfW7cnwr3MVsvrzjkodBSl/cjWbXqUrNyBlu5qqPain5aspqZCwU4AhuugLrovkddCjywlPrSwTTnpZz1wfdHCuVolS/XliXIDMBzJMZxO+TB7VtW81utKF3pDyNevszoMetKQkL6Rjy37eLejgbkSu7XzKfdP;4:d4WGdMxKx8PzJXyyS5xvtl5XWAgg/WDXlz/Mw91XffV4xbMjgyU7h68mVKiyEDKeAZ4FMSC/vIszoQXUeiOgYa0hGBoEIDk/WpF4eGsPun5tm4cylTfohMu/HzQjk7cIE0odCAtnf4LkydVLIzawjAaxk70i2otIcBeiQH2OkiABAOAV9AfwBkINxfBOFO1nUGqa6ns72URU478pWn/sFdrrr/q+kPlTzgpGJhHCiBB/omwjfxCZtx1HJUXF9qB4wfQOBfFQ0korQHhp20WegQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040522)(2401047)(8121501046)(5005006)(3231254)(944501410)(52105095)(10201501046)(93006095)(93001095)(3002001)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(6072148)(201708071742011)(7699016);SRVR:AM6PR08MB3254;BCL:0;PCL:0;RULEID:;SRVR:AM6PR08MB3254; X-Forefront-PRVS: 06891E23FB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(346002)(39850400004)(366004)(396003)(39380400002)(376002)(199004)(189003)(105586002)(229853002)(47776003)(66066001)(3846002)(6116002)(69596002)(478600001)(5660300001)(23686003)(86362001)(1076002)(186003)(68736007)(37156001)(7696005)(52116002)(16526019)(76176011)(26005)(6306002)(6506007)(386003)(59450400001)(55016002)(25786009)(305945005)(33656002)(81156014)(8936002)(50466002)(8676002)(81166006)(11346002)(956004)(446003)(476003)(16586007)(316002)(486006)(9686003)(2906002)(58126008)(97736004)(6246003)(6666003)(4326008)(7736002)(53416004)(106356001)(6916009)(53936002)(18370500001)(562404015);DIR:OUT;SFP:1102;SCL:1;SRVR:AM6PR08MB3254;H:outlook.office365.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?koi8-r?Q?1;AM6PR08MB3254;23:AMTqJaBiqsmQGGvVPYQRZI3Toqwu9/qdgJHRZWdYOaP?= =?koi8-r?Q?q9AbawPe6KsE/qp2MJrKapwuVB2cr8pSsFzr4jJRW+WkZUTFMKNMgQ0z5THDvr?= =?koi8-r?Q?eMQk0ZwWJUBx6bMbrQhRTYPeCIj8tEhyEJXTmrZK1tii1wh0+x1wJSdlZ3RdWE?= =?koi8-r?Q?RuzT/wbnb1Snni82HrJsm9hJ0hIA3wudPvY/oBDVaOWZEHdWzKBFJRgm6NkzPU?= =?koi8-r?Q?7L1+hvJh6MGYBg51gfL+0cFY2fog9AYg5VdgvnUH0ecCtHXjC5pOC5q8NDoQvJ?= =?koi8-r?Q?qWTPe8yUNUBcy/H3vISbKZ+Wabeuh6WF1iClByOL1ZPBuLChskPy6pYnAvn3Mq?= =?koi8-r?Q?3y1NXd8Hv43mcKnrxIXKb3awLN8mioBa6FFr1JbwXX11F2gqfIth7+xjs1kNur?= =?koi8-r?Q?lPcM4Hj3y6ZbL0I0856FEMVJiwFWo+ppHeDBwyqityzlnWA8o7yeMMCYbSZaXk?= =?koi8-r?Q?rX0EPO8zqy3qThbtt9lyAg46IzfL/xR7oZO2rb1gAaDmxLLt7Ic76ETI7WgYrx?= =?koi8-r?Q?Ir0kFAkSfaPsglm+P57ugYfOXISfCviP9hveMzt1QejiBw5bLxo4GmJiFaQZn9?= =?koi8-r?Q?brcwaIsUwbrAH8R75GDkt8ZDwDhUKv8UEu46v2KnwsquIMKY+A3nc3nIy8XLdD?= =?koi8-r?Q?+lbQqmN2xloLQMnjM10fa8VgdpDH35ZHrMy9yRUgOZZs4a8Rpx1HPMNi9clkzB?= =?koi8-r?Q?j6oJtvGIoECWMS3aTwR7PMx8FAe2jYx6ARfWfvxgzrIPtV6bBwkpPcmFGzCSp3?= =?koi8-r?Q?ClvGFHNRtRFHoc/v9flrs27yrjUw6wuA4Ij9AX0YCu5bITbU16TiehXN9YKCdC?= =?koi8-r?Q?8V9gTz93/BoXmCH2eN16VjYQ5xFKliJQQba84q7wmk3YnECjhEmsnhIZEvmbK8?= =?koi8-r?Q?Qv2m7Fnj+6b17WFCMiU7QwMLH7Bx2sZ2vrPEj/dIFUtJ1q2b3oGcgR2yIJ0BF/?= =?koi8-r?Q?mvThk2EaEfmm/yv+pBi3jgbf4Nzc/mY38H7M6XQ33Vn/IkHKBN7gIAbvo6Sce4?= =?koi8-r?Q?n1QpIChEStlwSn2z/Lc4s7nGZhuY6mho34VX1Vov8fJ8oXx7M8KfXgrsM9sth+?= =?koi8-r?Q?/jiuItxGuBPAvNn0DBbIzL6d80sjwtxv6uQJE12Qu9DA/TpKRVVhqeKrDRfrxp?= =?koi8-r?Q?pBFvCGlaMshlHCmDxdOmr5RfrR+sobv/2adWLTntDDmRDwCbO63C8qI2U+XTz6?= =?koi8-r?Q?tHqtnL59ZgrSgLTvcnA6NAuMR0TMxkFCxW10uX3vQnSvrYee6euvs6K1lKYhzS?= =?koi8-r?Q?J+K6iSh8ZpjBgz6e0J5Dt6MUMEjumFHFluaBVqxUD0MO/Kv9UFdKF1w3NSxs/K?= =?koi8-r?Q?gXtCB3M1NdTz31IqzxP9flkexJR+qYI5zjoJvhbHaM=3D?= X-Microsoft-Antispam-Message-Info: 8GKobO+tbJK91uBYn3t0vooL2dm/xCW7HCdUq1CE7hxjDZHNkYaRtEkRo+Lz41NzOsfMP032jBasfWg3Ivj0wWWZQN44wCI/aE08e58qorWn33ltPYV0qT3WnhXsAyvZrBsAgMiQD3Xgh9+7yIU3KbKUTAU6GzhSItl1jbWS/IeTDncrE4j4ciqPZ0Hw7fLO X-Microsoft-Exchange-Diagnostics: 1;AM6PR08MB3254;6:oWNTLLY0xfSMB4i4Ydtp5ZfdQwfDeEb0IfsLjzA2vySUG9mK7NGIhW6gB2kbNc9r9GpWnnQ+sv6poaHoRK/OntEYzugxcey73h1KqFbGJ9lMaR3MeJxeqIG6+moe9e76dAjmsaLcCspMQbGuD1dF80q0x1k+eag/cqQj7YSz1V1GYDd+uVhZk1lfX1I1+s/b1cWacgghDCfGybDSxCs9DHiHFM/qgmdsYw0JX2Qqd0KFgiZoLNZwJ7bvtN7k47RsOv6kj8a8SptsH1Q29NyZTeRPcmbPHhMqkv0puVo5eVxeOwFnwjpr3OEK/xnYj+K3JjHf3VYF4Nw/yIbXHkG6+ZEziZOrIiK8bLZ0FdPAIBdjW2TPDfGFJWIUvliuEdwSjo48RNwlZfbe3YT8EaxCFEmA7nrE3usyPgwPTTz2vySTV+VoevDiTxXHiVhCNm3ylTglocU8o/FetXCXZpfLkQ==;5:rQW2B2KPuartpRKtuiABCmcCbIbrWgu6nNW2LX6xVCTrR0dH3cltYZLUbjwCIgI9Vkjcy+hWbcTmph8hwK7oESyn32/h510OYxtWLP9Ffn1ngVnoPFLfQJTqRJ7FMXwPKNylm7L04KMFk6nAZNSP2of9Llecxp3raWoeWKM6USk=;24:4Yy/ak88QRKHbdx55tIk+s3WexW/YtqPi4yA7k46o1jcOv6EQaMPMSsClP8kcSY2q/mWWon62jmLHG24s9WG43LW/CZaLg3RXVfh+FserVo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM6PR08MB3254;7:aanS0f9Y3zbpsWfaNno5mCN7SuPVlfFJ8yQiMve0v1a5Nx4TKqQS1V9znjjIiv26LIADJFvbWy+9oRXKSbj9rrNxgh2N9faRi3S/fo9xhdhU4zZWL3hvapFnb/vdp8XgFhpno3EoxJUmg5jYAHBP6uG0pBqTfEaETKXCWm91Fwq+xDWYsw0pgoIhds8GqyEOOubMoeVYowjumamLrduwQPnWSNksHw0MH6gkWxL7Vl9bszAuewhk35uyk9CRknwV;20:U2mBucHTZkJp5Jdrx6okgg5ZhchyDPJNQS28+uXr9XQVF62XcEMAvM0fOnGKlQztd00zKclbEWG3OJmCy1u3iZ31otNMyP1BggXjvvH7mGHzcxZ5/77CCkUQU6HoEL3Bdd8ZvmP1oshKnTGWsbi/mRQ+ac4K/hXGTxklYLvBn/Q= X-MS-Office365-Filtering-Correlation-Id: edc37dcc-dd92-4bc6-9a0d-08d5c728c8d9 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2018 19:00:31.2460 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: edc37dcc-dd92-4bc6-9a0d-08d5c728c8d9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3254 >>Without this patch, ret will be 1 and mask will be 0. It is obviously >>incorrect. According to the man page, L should work like ll: >> >>L Indicates that the conversion will be either e, f, or g and the >> next pointer is a pointer to long double or the conversion will >> be d, i, o, u, or x and the next pointer is a pointer to long >> long. > > This is a GNU extension. POSIX states that L is only valid before >a floating-point conversion specifier: > >L > Specifies that a following a, A, e, E, f, F, g, or G conversion >specifier > applies to an argument with type pointer to long double. > > from >http://pubs.opengroup.org/onlinepubs/9699919799/functions/scanf.html > > So, it is valid for musl not to accept %Lx. > Now, the argument that it's a good idea to align musl's behaviour to >glibc's whenever possible is a sensible one. But it's a decision for >the musl authors to make, and the pros and cons need to be carefully >balanced; musl's current behaviour is not _incorrect_. It is incorrect, because scanf() has to return 0, or it has to handle the L modifier. Currently it doesn't handle L and return 1, so the application can't detect this issue. I would prefer a case when musl works like glibc, if there are not any reason to not to do that. For example, now Alpine Linux is very popular and there are a lot of packages. In many cases, a maintainer, who adds a new package, fixes compile-time errors and doesn't run any tests. A target application can work differently with musl comparing with glibc due to this sort of issues. --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---