From nobody Thu Nov 13 20:40:38 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1582526685; cv=none; d=zohomail.com; s=zohoarc; b=gbwpstFfk23TRs5+TrJZpbbSy1RsiZhvz748kn3o405cXisDKMHPdvJuBtl/yTFcBngI5rpmJVRgMiHziI9di9cpcpSSNoxXbXIhsgNL2CLfLacKIJjWbukx4gP/or+Z2sKr5Fyv+YsACHD9sjDa/lqZHLdFFrYUAIOpiDghWZk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1582526685; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZGy2wYIdV5MEjjQi4kxe0pIVicUU0Oo9sONiY0FJxyw=; b=c/VHvbDJHyR4uwDiWAXxCbIfnn0l42y8ev0KLjsD/MYbNnin1Zv9tdFmNwnrxb0gHBMXqfIDL6UgpHamTaZKc/xsi7j2EQmDDEJ4NUHWw3ZAmhJ7maqY//tjYSHSuX/+NvZDVjiXFySgfNkmcjywxUjozTXzh9WekaAlhq6dlNM= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1582526684994223.83031656175467; Sun, 23 Feb 2020 22:44:44 -0800 (PST) Received: from localhost ([::1]:60546 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j67Tw-0001Ld-1b for importer@patchew.org; Mon, 24 Feb 2020 01:44:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47402) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j67SF-0007IH-SZ for qemu-devel@nongnu.org; Mon, 24 Feb 2020 01:43:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j67SE-00009j-Rn for qemu-devel@nongnu.org; Mon, 24 Feb 2020 01:42:59 -0500 Received: from szxga04-in.huawei.com ([45.249.212.190]:2727 helo=huawei.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j67SE-00008N-GR for qemu-devel@nongnu.org; Mon, 24 Feb 2020 01:42:58 -0500 Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id E3474CB5AF64255614A3; Mon, 24 Feb 2020 14:42:54 +0800 (CST) Received: from DESKTOP-27KDQMV.china.huawei.com (10.173.228.124) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.439.0; Mon, 24 Feb 2020 14:42:46 +0800 From: "Longpeng(Mike)" To: , Subject: [PATCH RESEND 3/3] util/pty: fix a null pointer reference in qemu_openpty_raw Date: Mon, 24 Feb 2020 14:42:19 +0800 Message-ID: <20200224064219.1434-4-longpeng2@huawei.com> X-Mailer: git-send-email 2.25.0.windows.1 In-Reply-To: <20200224064219.1434-1-longpeng2@huawei.com> References: <20200224064219.1434-1-longpeng2@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.173.228.124] X-CFilter-Loop: Reflected Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 45.249.212.190 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: longpeng2@huawei.com, arei.gonglei@huawei.com, huangzhichao@huawei.com, qemu-devel@nongnu.org, weifuqiang@huawei.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Longpeng q_ptsname may failed ane return null, so use the returned pointer as the param of strcpy will cause null pointer deference. Use the return string of openpty instead of call ptsname. Signed-off-by: Longpeng --- util/qemu-openpty.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c index 2e8b43b..2bea4ba 100644 --- a/util/qemu-openpty.c +++ b/util/qemu-openpty.c @@ -112,13 +112,7 @@ int qemu_openpty_raw(int *aslave, char *pty_name) { int amaster; struct termios tty; -#if defined(__OpenBSD__) || defined(__DragonFly__) - char pty_buf[PATH_MAX]; -#define q_ptsname(x) pty_buf -#else - char *pty_buf =3D NULL; -#define q_ptsname(x) ptsname(x) -#endif + char pty_buf[PATH_MAX] =3D { 0 }; =20 if (openpty(&amaster, aslave, pty_buf, NULL, NULL) < 0) { return -1; @@ -130,7 +124,7 @@ int qemu_openpty_raw(int *aslave, char *pty_name) tcsetattr(*aslave, TCSAFLUSH, &tty); =20 if (pty_name) { - strcpy(pty_name, q_ptsname(amaster)); + strcpy(pty_name, pty_buf); } =20 return amaster; --=20 1.8.3.1