From nobody Tue Oct 22 22:22:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1729578891; cv=none; d=zohomail.com; s=zohoarc; b=TwOOLzwdiSBmDzgiAvIaNA8pA++iqNM2g1WJ515fwFVsuQ8zIoX4ViRx+W0SSlO9ng+UfWGm22YKAdkfgQTBn0I9YfMiQWQIlhvkiFtfy+FTEOynKr+FiVDG3QFzVtk5Azy60Hufq+xOsZf3sWHp31lGt1l+XVb+NEoBpwZqaHo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1729578891; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tkkizOFNkGqNBWxkxM6UYEFFHHmKTfk4nImh4QleBvc=; b=Cot12oFxJea/E9168rLzgBIvcNs/fhV6Uer8lH6GZGe/Rlcw3kth3JSFQH9sIezXK8t80P26c8eTh3OhcNR1bgYg3rY8atClKyg61y45sYw6uJjq2o82P/1YiCq/kDhDOjXYryTku3T1WvPiGEn9EgKIvca9Rl/suuu3bEpB8lw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729578891324717.0127284045177; Mon, 21 Oct 2024 23:34:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t38TM-0004sv-46; Tue, 22 Oct 2024 02:34:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t38TC-0004sQ-Ld for qemu-devel@nongnu.org; Tue, 22 Oct 2024 02:34:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t38T9-0004Sd-A3 for qemu-devel@nongnu.org; Tue, 22 Oct 2024 02:34:18 -0400 Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-526-A6RFK0RIO-yUBGOI0tZB3A-1; Tue, 22 Oct 2024 02:34:09 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 44F3F1955F41; Tue, 22 Oct 2024 06:34:08 +0000 (UTC) Received: from thuth-p1g4.redhat.com (unknown [10.39.192.95]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id BD67C1956056; Tue, 22 Oct 2024 06:34:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1729578853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=tkkizOFNkGqNBWxkxM6UYEFFHHmKTfk4nImh4QleBvc=; b=SChOh6y9BxZRVkILTxRKB1Ql68ktk7VpEdkLCkaR8gnMBXQVIDlXMyFuqoy6/29gqPCW7l OhUUKqb1eaIy+5tEZLEgGRCo/wLCu4YRSCwpQCVNhNk5X4WW7dbSdhcsHdYkrer+PEr5+K qz3q+KBGhPa0aerG34yFtcIWmna7I6Q= X-MC-Unique: A6RFK0RIO-yUBGOI0tZB3A-1 From: Thomas Huth To: Hyman Huang , Peter Xu , Fabiano Rosas Cc: qemu-devel@nongnu.org Subject: [PATCH v2] migration/dirtyrate: Silence warning about strcpy() on OpenBSD Date: Tue, 22 Oct 2024 08:34:02 +0200 Message-ID: <20241022063402.184213-1-thuth@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 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; Received-SPF: pass client-ip=170.10.133.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.421, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1729578892474116600 Content-Type: text/plain; charset="utf-8" The linker on OpenBSD complains: ld: warning: dirtyrate.c:447 (../src/migration/dirtyrate.c:447)(...): warning: strcpy() is almost always misused, please use strlcpy() It's currently not a real problem in this case since both arrays have the same size (256 bytes). But just in case somebody changes the size of the source array in the future, let's better play safe and use g_strlcpy() here instead, with an additional check that the string has been copied as a whole. Signed-off-by: Thomas Huth Reviewed-by: Hyman Huang --- v2: Check the return value of g_strlcpy to avoid truncation of the string migration/dirtyrate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c index 233acb0855..0f941024be 100644 --- a/migration/dirtyrate.c +++ b/migration/dirtyrate.c @@ -436,6 +436,7 @@ static void get_ramblock_dirty_info(RAMBlock *block, struct DirtyRateConfig *config) { uint64_t sample_pages_per_gigabytes =3D config->sample_pages_per_gigab= ytes; + gsize len; =20 /* Right shift 30 bits to calc ramblock size in GB */ info->sample_pages_count =3D (qemu_ram_get_used_length(block) * @@ -444,7 +445,8 @@ static void get_ramblock_dirty_info(RAMBlock *block, info->ramblock_pages =3D qemu_ram_get_used_length(block) >> qemu_target_page_bits(); info->ramblock_addr =3D qemu_ram_get_host_addr(block); - strcpy(info->idstr, qemu_ram_get_idstr(block)); + len =3D g_strlcpy(info->idstr, qemu_ram_get_idstr(block), sizeof(info-= >idstr)); + g_assert(len < sizeof(info->idstr)); } =20 static void free_ramblock_dirty_info(struct RamblockDirtyInfo *infos, int = count) --=20 2.47.0