From nobody Tue Sep 9 23:39:22 2025 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=1738290789; cv=none; d=zohomail.com; s=zohoarc; b=DGS5G4JpFgDRs9WFgIzacbXhoM/NUbaXNeQydqSlccNur84RU7MNZS8lXlSf31U9BMHWUw6yqCg+7hF6yy0gVraVKu9HvZtJUeto4hTHc519r+SZj5iA+kJWXl/2Jo0PBZpd2vaKz6jPOLxxbYovjA3KSv8Q9eGKsx4NuX8LQDE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1738290789; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post: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=MA9+K+7UlDvjqclxtwb2yddeqBm+tROFXQD3blbUnxA=; b=cA/9/1jbdT/SPhZK4cqgbeerjxZOV7ZJJILrfSoa4p8Xqtao6oAn3wc7PUGxwy92zO89hTYC8+QCOi3K3HoZQhTeOKvH1wSwYW7gLfUpMBhzLJLYd3oTIN1/y+gmXGnu1sm71ca4t5JPuC8W1DygGA+1tRi15bTSPUQTTeskg2A= 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 1738290789077450.16213307673206; Thu, 30 Jan 2025 18:33:09 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 739A01CD2; Thu, 30 Jan 2025 21:33:08 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id D40D01D12; Thu, 30 Jan 2025 21:31:25 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 691631CDA; Thu, 30 Jan 2025 21:31:19 -0500 (EST) Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C026D186F for ; Thu, 30 Jan 2025 21:31:18 -0500 (EST) Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-aa684b6d9c7so265267466b.2 for ; Thu, 30 Jan 2025 18:31:18 -0800 (PST) Received: from localhost (205-201-32-8.scinternet.net. [205.201.32.8]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-72fe631bebdsm2173447b3a.29.2025.01.30.18.31.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2025 18:31:17 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1738290678; x=1738895478; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=RMju6Jfn2wd0R+FdBnLN1Uv9AyurbtMQuVVYdaD7nFc=; b=fSHBE563O6ei0s98WAvRH3hlcbYPoozQLpD5KKCws8DreN0EE/j/19oQUs/TVNY490 fS3oAdlVMdBgnUwFTKUvHonB71e4ISVsgWlEpp0WSRhCqWH9xBYm2IINfww01AcQj6lB TmAbDIOzhCHlG8UqQ+Q+6aCQG8RDUO+3hYL3Mv/6x2DGtO72fAhV5mxNE9A4LPuqOBj5 29miyLj5vRYqRzOKFh9nIPrGtBwmXQSziLiML9KUUr8lqVxJCXpJgAabg1pPb5w0F/cn X8bNIU8u3RutRBjdXMhAEcIC74+ete6Bn/GQTiERWw5dWobCkKqf6Af6OwvZvt/Uore7 a/5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738290678; x=1738895478; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RMju6Jfn2wd0R+FdBnLN1Uv9AyurbtMQuVVYdaD7nFc=; b=GSHIAA78xRx2C/tLj2A0nqs3IkYIdjvidoWAMZXmkxD3idMhzUDbQ9/0HzZJCthirI hZrknOxQUF/PJf1xkMOzK95Do7xR9c2oa0uFV8KwqqIa/POVMfQrwTG98WpeHcu4WooY L675icDnY85tXURssEN3JlDnrcdBuivbmi1Qy9M873ixfyi60I5N4hB2djP/pauBuurR 5S34ShWdAeROwZQnXIruD6n98BHMRlFws27HYNMe4+l8/oqUa79B7R6WTMid4n+PVS7N 3zF2Gm3VvLMz2IRxLLRwDZL28w9tys8lawzOlb5vyolV+tVzmhSeIcg78cux0blnSZ2l 9CKA== X-Gm-Message-State: AOJu0Yw2UtpYaoueUZwn8t0m3VYegSr6l4sjpYUB+Q5Duc61+cWjVvyN YAUae1WnZ0zSXFrgP3gLdD+v97zpffUitttsHvP02xrx2kmtGEV9YF92HiIdHMa0fPNozz3ep3X u X-Gm-Gg: ASbGncuR8TueVIjzmtJYZT/S3G3ScuKXiWSnrNGoxjHeuI0zOFHW3DrOFDv7OWY5Xom 2/PJ9x6drbkIXGNgYAdnM6qP/SagP3i9kf0srgkTPSnbsgV5OGiL9swzlGFmhuyMqJpyMXOm6JG MtlMzrrFScs72s9zn+RXVILmc1TDqZc2+ngMGFBQhkC7PWNk3nxuJbu6U5/d2BPrZI3Uy5QluJJ X6tCoQOiRlMiMbalnpmxRXA1XYCcaEljF5eF20sOYPE+kYJtlYkGxXxuc85OWJcQMLd6aqJD0bV h2LvU2klneEYACdBPeWZRtQCdBuzebRmFg== X-Google-Smtp-Source: AGHT+IH7TFJ5WqDeY9ZqJzHC5f0fkz7U4joyJU3BKUgv3iPCuO/0QbONraXwp/h5rR/FFVSJNpTEPg== X-Received: by 2002:a17:907:c2a:b0:aab:740f:e467 with SMTP id a640c23a62f3a-ab6cfcb3bb7mr989123266b.8.1738290677682; Thu, 30 Jan 2025 18:31:17 -0800 (PST) To: devel@lists.libvirt.org Subject: [PATCH V2 3/3] qemu: Check for valid save image format when verifying image header Date: Thu, 30 Jan 2025 19:29:04 -0700 Message-ID: <20250131023110.20024-4-jfehlig@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250131023110.20024-1-jfehlig@suse.com> References: <20250131023110.20024-1-jfehlig@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ZRKBH53ZJIF2RJXJ65ED576IIAZFFIWB X-Message-ID-Hash: ZRKBH53ZJIF2RJXJ65ED576IIAZFFIWB X-MailFrom: jfehlig@suse.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Jim Fehlig via Devel Reply-To: Jim Fehlig X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1738290789972019000 Content-Type: text/plain; charset="utf-8" When attempting to restore a saved image, the check for a valid save image format does not occur until the qemu process is about to be executed. Move the check earlier in the restore process, along with the other checks that verify a valid save image header. Signed-off-by: Jim Fehlig --- src/qemu/qemu_saveimage.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qemu/qemu_saveimage.c b/src/qemu/qemu_saveimage.c index 8315171b78..5c889fee11 100644 --- a/src/qemu/qemu_saveimage.c +++ b/src/qemu/qemu_saveimage.c @@ -289,6 +289,12 @@ qemuSaveImageReadHeader(int fd, virQEMUSaveData **ret_= data) return -1; } =20 + if (header->format >=3D QEMU_SAVE_FORMAT_LAST) { + virReportError(VIR_ERR_OPERATION_FAILED, + _("unsupported save image format: %1$d"), header->f= ormat); + return -1; + } + if (header->data_len <=3D 0) { virReportError(VIR_ERR_OPERATION_FAILED, _("invalid header data length: %1$d"), header->data= _len); --=20 2.43.0