From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28960 invoked from network); 12 Jan 2021 07:57:17 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 12 Jan 2021 07:57:17 -0000 Received: (qmail 19550 invoked by uid 550); 12 Jan 2021 07:57:15 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 19518 invoked from network); 12 Jan 2021 07:57:12 -0000 From: "zhuyan (M)" To: "musl@lists.openwall.com" CC: Zengweilin , "liucheng (G)" , "chenzefeng (A)" Thread-Topic: [PATCH] fix segfault in getitimer when old argument is NULL Thread-Index: AQHW6LZ7w5/Z6VWeV0uVISkAwjupoqojm5aw Date: Tue, 12 Jan 2021 07:56:58 +0000 Message-ID: References: <20210112074221.58076-1-zhuyan34@huawei.com> In-Reply-To: <20210112074221.58076-1-zhuyan34@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.67.102.217] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-CFilter-Loop: Reflected Subject: [musl] [PATCH] fix segfault in getitimer when old argument is NULL When old is NULL, call old->it_interval.tv_sec to dereference a null pointe= r in getitimer. The commit 558c01338b0b635632e70af6ec8a484ca70b0328 introduces this problem= . Signed-off-by: Qing Wu Signed-off-by: Yan Zhu --- src/signal/getitimer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/signal/getitimer.c b/src/signal/getitimer.c index 36d1eb9d= ..f6fde204 100644 --- a/src/signal/getitimer.c +++ b/src/signal/getitimer.c @@ -6,7 +6,7 @@ int getitimer(int which, struct itimerval *old) if (sizeof(time_t) > sizeof(long)) { long old32[4]; int r =3D __syscall(SYS_getitimer, which, old32); - if (!r) { + if (!r && old) { old->it_interval.tv_sec =3D old32[0]; old->it_interval.tv_usec =3D old32[1]; old->it_value.tv_sec =3D old32[2]; -- 2.12.3