From nobody Thu Apr 2 20:11:50 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1774547551; cv=none; d=zohomail.com; s=zohoarc; b=mxSx0yKu/tRdzZVZosyOiVYdvOdyAkcQyqNQd2nJdow8SaeWpNEsN2JrCTh2jgBQZMDu2zJsN2foibu/i4y54AxV5/6fuVj+JiOUPQXWy3/9nOBAWpAYIVXDlDlOwEIbt3A247znk96NkJ/BzRu9K1acl9GFhzLxUQ7cvABOktk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774547551; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=o0VoYQSoeKULvteh51kIFxupyVQCjD7DQRAX4SaLbkc=; b=BTcb3BEYEhIV446ABdZnSm/lJ2vpaiYA+Fn2sad0eQFQHhlaJurW0jdx+mz/b+WMHd802qul/5nOmuDspEiKigGI33RlsNkB+R2Et6gZGIa+hTnt3EJudKSwj+xZpcLnu/0DR1GFp/9fepxxEGk8st8jbjr5hsv3Gj0OgeQuR2E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1774547551207988.8426606966553; Thu, 26 Mar 2026 10:52:31 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 6489E3F345; Thu, 26 Mar 2026 13:52:30 -0400 (EDT) Received: from [172.19.199.12] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 95DF941954; Thu, 26 Mar 2026 13:50:47 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 12E413F8A0; Thu, 26 Mar 2026 13:50:43 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 9AAFB3F363 for ; Thu, 26 Mar 2026 13:50:32 -0400 (EDT) Received: from mx-prod-mc-01.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-213-L-5z2BisNNq1TAD6882yfQ-1; Thu, 26 Mar 2026 13:50:30 -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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C9BB2195608C for ; Thu, 26 Mar 2026 17:50:29 +0000 (UTC) Received: from speedmetal.openshiftapps.com (unknown [10.45.242.5]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 0DC491955D84 for ; Thu, 26 Mar 2026 17:50:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HELO_MISC_IP,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1774547432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=o0VoYQSoeKULvteh51kIFxupyVQCjD7DQRAX4SaLbkc=; b=TbkWnniMF5eEz+V6+IUmMsGyMowihyFaohy0q9LTrMmJE6Nedr4bxcnSGfPxtEYo/SsyRP zH/j/XWuvHfiYYGzISULAEDtmYPrfJ7k5F0jHHXx0Wk6J/D0zmcGDNlYC87EvLT1tUDYhp beor2Hj/IWQ+ZprBAcotB4NWGNq4cAI= X-MC-Unique: L-5z2BisNNq1TAD6882yfQ-1 X-Mimecast-MFC-AGG-ID: L-5z2BisNNq1TAD6882yfQ_1774547429 To: devel@lists.libvirt.org Subject: [PATCH 3/3] util: file: Shrink buffer returned from 'saferead_lim' to actual size Date: Thu, 26 Mar 2026 18:50:23 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: FgmAQVIzF9Or_pFz0YzlK-PUtRdMNbOEdRu_34uvkik_1774547429 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: U7R45WCKK4TSBW3PSFKM6U4SA7E5IQJP X-Message-ID-Hash: U7R45WCKK4TSBW3PSFKM6U4SA7E5IQJP X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1774547553257158500 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The bufer resizing algorithm resizes the buffer in increments of the value of the 'BUFSIZ' macro. On linux it's currently 8k. In case when the caller wants to retain the buffer for long time with little data read this creates massive overhead. Realloc the buffer to actual size before returning it to the user. Signed-off-by: Peter Krempa --- src/util/virfile.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/virfile.c b/src/util/virfile.c index 91d5853481..fbcaf15429 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -1523,6 +1523,7 @@ saferead_lim(int fd, size_t max_len, size_t *length) break; buf[size] =3D '\0'; *length =3D size; + VIR_REALLOC_N(buf, size + 1); return buf; } } --=20 2.53.0