From patchwork Wed Nov 25 16:41:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manuel Dipolt X-Patchwork-Id: 1406147 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::13e; helo=mail-lf1-x13e.google.com; envelope-from=swupdate+bncbaabbses7l6qkgqegmegxda@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=robart.cc Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20161025 header.b=auR8Omcw; dkim-atps=neutral Received: from mail-lf1-x13e.google.com (mail-lf1-x13e.google.com [IPv6:2a00:1450:4864:20::13e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Ch69Y36Lhz9sSn for ; Thu, 26 Nov 2020 03:41:50 +1100 (AEDT) Received: by mail-lf1-x13e.google.com with SMTP id f2sf1044090lfm.3 for ; Wed, 25 Nov 2020 08:41:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1606322505; cv=pass; d=google.com; s=arc-20160816; b=nHHF99L7yMeNhWT2bgOGcxY0lTvjPhNirb0Rk6cNJ00T09ldy4uGaDLfHIrSNdGSrt g5DV8RqVyDm/CXNPfX1ZP9ikaADTsUql9ZqQXnc5Y9PGQej+JcWBbmCji8Twwt0yaZi8 be5T5v3A9GT6lfYg8mbfHAsWdqifNf+IofVDNh3ICoiI9qVUnR8sH3xZ8rASaX5r4YlR stmOdR/nSJ5BUTApyIPE6lB05mO7hD+gsMBNAM/CvopkkUTyTiGBm+TShiEI55v9uovH 0LiJIS9oqAm3MHjLBB2zgfNYRB7gsBET7znTqtuWx91Cu6JdaBnoW3hGhr41Sv083i8C zLSQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:thread-topic:thread-index :mime-version:subject:message-id:to:from:date:dkim-filter:sender :dkim-signature; bh=zcU4zprT9CYSdrJ88zbRDH6HjrdiPQ9qEtbaA9LQ8lU=; b=yyuuBQhY+6Oui8XPhCI8dt/63apxyi/sgRiC/Jgu04XAPFIbHOgGkbNOgG16m3rjod YT52Ju61LIodjtP1Kx4f8WNv4QlLMPnsP7a++4ia8ctUfd4KzQRILsU7zx6gTOtMx1kn +oRN5QdIyD4lp/hVV3EhIV4LY4UwvRwL7tsz75lkvX2M7cu2O7gDvj58rhk6V2zUaAog zud78N+cKDQGV6y0pDNvM1x45wRzZUOcv9FpljUXDZq4YPlfk336OqJ4LmRVL03lQqF7 fbvyeuW8D1XprHt/X4u7bo77kxosE/GOj/PXYXKpkgsmqsmS5R/8d0CvcuVWMpvXjXo6 bEdg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@robart.cc header.s=B016B336-104E-11EA-8E2D-E36DD02BB770 header.b=kOpN8uTJ; spf=pass (google.com: domain of mdipolt@robart.cc designates 80.123.245.229 as permitted sender) smtp.mailfrom=mdipolt@robart.cc DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:dkim-filter:date:from:to:message-id:subject:mime-version :thread-index:thread-topic:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=zcU4zprT9CYSdrJ88zbRDH6HjrdiPQ9qEtbaA9LQ8lU=; b=auR8OmcwZx+PCPC4iV/Ia+k7DMCEcIAymdjpnM2wy4TZKeqBC5EiZVU1/8ydSiK3vL 3K+3kuaeKrQjmDIP6R0ZawnPPpauoDWg6CMQl/qZhF0BMbSNgdhzGAsVF0VYK7HO6QvK 8M+nCJDJkQtnUzMZTx4y+43ILsEPPCYHTrdwvyas1AZe4Hu7mufz0djsBZH7dooLmi0i TxSTd8F38WCF6Nwaac7O08vpACgHIrLyNe8dG0i4ipy/67xuI6AHWM8N1L6YOaTByo2/ Il9DPm5dssxKrCx72Mimd8IwRZdWy19m+TQl8wdc0Msq+mEzquwfWBildPy1bWNRCvJE vnzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:dkim-filter:date:from:to:message-id :subject:mime-version:thread-index:thread-topic:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=zcU4zprT9CYSdrJ88zbRDH6HjrdiPQ9qEtbaA9LQ8lU=; b=CenOV17GfMy1TgHHVZlZwLrOV3RoE29ibkiUM4ke3Yqa6kanyyLzE4Rm37ZWAkPU/D mjbshsA4BkpGosUgewXRlOsYL3CQvRwsTPrrnqULhWB7tLXJfz1yAetUgtkCSXu7vcTv oa/f96snYU5WKUv/dJVnZO3hbuKMv4UCOCFYnllSICgZLWTTH4iX9bpIh3bbIkxMZvYM ZIO3qQOYfnI7KAbIzkz9Mlzv7Vc/NfxWpOrm38Bwx3fyBp0snaf8YYmzb+xHPlZ9Zm68 Ye97WYSZpxq24rAg8DNXkc+0l5UM3fKaIyAcslKs5Bn93v5kp26PxSnJO7cB73E/NZtM 2NVw== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM530qT4xdyI4HbqYCwEcXL35i65kX/eqJEojT7cD6MU8kICtg1mGe CUOK3n1WHysdjyACujcpBrc= X-Google-Smtp-Source: ABdhPJxlzKsZvlBZGxbnCboi0xuniCek7gjP7KhGFmbEWrYy6IUBfi8e3n4aoOkF0XVuHHjtdUae4Q== X-Received: by 2002:a2e:80c3:: with SMTP id r3mr1689073ljg.391.1606322505794; Wed, 25 Nov 2020 08:41:45 -0800 (PST) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a19:d0e:: with SMTP id 14ls1957884lfn.0.gmail; Wed, 25 Nov 2020 08:41:44 -0800 (PST) X-Received: by 2002:a19:ae03:: with SMTP id f3mr1632572lfc.239.1606322504362; Wed, 25 Nov 2020 08:41:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606322504; cv=none; d=google.com; s=arc-20160816; b=QS8aamIZQba9lmrP3iMsn0G6rH31uvPXTI5e+Sk8kkVpCSGVWJ451UVGLty1PXn8tr 1wYmRTw8cHy2xeS+mwsDV0nxtNAKwWGOISCAEY1KOCBgVuWOrhRwEKrEWdUjpfDgc18a AQpQ/Gdb9Lk6JUtKmPTlt70/CeTWCFo6o7cMJyxAnE7ITJxKj28PzxXlRG4NiUzUMAW3 HkQjKq+Vs7DUXMSeaK/F49T4OGiSskupF+lk0GtJ53pBcKj1HKbcTxbv4JZiKZH0iiJT FWALbi9VjM0cRjybpIsWFNCQos0PMhEp4g+HVJcVAmsod3nWme+dXirqmwj8hFSDkNAB YGsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=thread-topic:thread-index:content-transfer-encoding:mime-version :subject:message-id:to:from:date:dkim-signature:dkim-filter; bh=yUUFz4SqAU7Q8LiHb9dvped46cJt2FSYfAuulcQhsf0=; b=ge4aY8ds6WPT2gI3lVRCscLiqe2tlqUzSj3IAfhooHDKh0WpJq8ns+Raqe7MtGrvzL dx3uZ+/yKOtMBxsL+mByj3UORWKJ2oeNpt1iEDEHKnT468a2f84/svrtPo1P0FWvoM9M hlpoIdM37Ae3xfSZomJ3eAMdcbKlVfy9ab89SdCzQqdFX5W1Ntw/b7lb8TgjWuMK3rt/ 1LBl38wyG9Zd8jcNqkrVtGX6l2vHRSE3Grvjs8crUmYG4tZXqBfL+B9xXcAnVw5gOit/ 9ItCIOyiNDCuuMsNvIYpgxnKDRUec7ry5mCbIMsvSKJXjnirTbHz2QEgleo3bl+4rTBZ dVDw== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@robart.cc header.s=B016B336-104E-11EA-8E2D-E36DD02BB770 header.b=kOpN8uTJ; spf=pass (google.com: domain of mdipolt@robart.cc designates 80.123.245.229 as permitted sender) smtp.mailfrom=mdipolt@robart.cc Received: from srv-mta-01.robart.cc (srv-mta-01.robart.cc. [80.123.245.229]) by gmr-mx.google.com with ESMTPS id f28si87240ljp.3.2020.11.25.08.41.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Nov 2020 08:41:43 -0800 (PST) Received-SPF: pass (google.com: domain of mdipolt@robart.cc designates 80.123.245.229 as permitted sender) client-ip=80.123.245.229; Received: from localhost (localhost [127.0.0.1]) by srv-mta-01.robart.cc (Postfix) with ESMTP id 262B11C0CE3 for ; Wed, 25 Nov 2020 17:41:43 +0100 (CET) Received: from srv-mta-01.robart.cc ([127.0.0.1]) by localhost (srv-mta-01.robart.cc [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id j7eMFeTQOAye for ; Wed, 25 Nov 2020 17:41:43 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by srv-mta-01.robart.cc (Postfix) with ESMTP id EBA251C0DB3 for ; Wed, 25 Nov 2020 17:41:42 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.10.3 srv-mta-01.robart.cc EBA251C0DB3 X-Virus-Scanned: amavisd-new at srv-mta-01.robart.cc Received: from srv-mta-01.robart.cc ([127.0.0.1]) by localhost (srv-mta-01.robart.cc [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id M9fPc9s_7koN for ; Wed, 25 Nov 2020 17:41:42 +0100 (CET) Received: from srv-mda-01.robart.cc (srv-mda-01.robart.cc [10.0.10.21]) by srv-mta-01.robart.cc (Postfix) with ESMTP id D2B4A1C0CE3 for ; Wed, 25 Nov 2020 17:41:42 +0100 (CET) Date: Wed, 25 Nov 2020 17:41:42 +0100 (CET) From: Manuel Dipolt To: swupdate@googlegroups.com Message-ID: <243065110.2784373.1606322502779.JavaMail.zimbra@robart.cc> Subject: [swupdate] [PATCH] libuboot_env: correct length to usable env size length MIME-Version: 1.0 X-Originating-IP: [10.0.242.61] X-Mailer: Zimbra 8.8.15_GA_3968 (ZimbraWebClient - GC86 (Linux)/8.8.15_GA_3968) Thread-Index: dOilkUYYkiThxrxo7UWb7n9DsAAk6Q== Thread-Topic: libuboot_env: correct length to usable env size length X-Original-Sender: mdipolt@robart.cc X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@robart.cc header.s=B016B336-104E-11EA-8E2D-E36DD02BB770 header.b=kOpN8uTJ; spf=pass (google.com: domain of mdipolt@robart.cc designates 80.123.245.229 as permitted sender) smtp.mailfrom=mdipolt@robart.cc Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , ctx->size would be correct from start of struct / environment, however usable environment payload starts from data header (offsetdata) Signed-off-by: Manuel Dipolt Acked-by: Stefano Babic --- src/uboot_env.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/uboot_env.c b/src/uboot_env.c index af40565..94d371e 100644 --- a/src/uboot_env.c +++ b/src/uboot_env.c @@ -942,7 +942,7 @@ static int libuboot_load(struct uboot_ctx *ctx) int ret, i; int copies = 1; void *buf[2]; - size_t bufsize; + size_t bufsize, usable_envsize; struct uboot_flash_env *dev; bool crcenv[2]; unsigned char flags[2]; @@ -954,7 +954,8 @@ static int libuboot_load(struct uboot_ctx *ctx) struct var_entry *entry; ctx->valid = false; - + usable_envsize = ctx->size - offsetdata; + bufsize = ctx->size; if (ctx->redundant) { copies++; @@ -980,7 +981,7 @@ static int libuboot_load(struct uboot_ctx *ctx) return -EIO; } crc = *(uint32_t *)(buf[i] + offsetcrc); - dev->crc = crc32(0, (uint8_t *)data, ctx->size - offsetdata); + dev->crc = crc32(0, (uint8_t *)data, usable_envsize); crcenv[i] = dev->crc == crc; if (ctx->redundant) dev->flags = *(uint8_t *)(buf[i] + offsetflags); @@ -1041,7 +1042,7 @@ static int libuboot_load(struct uboot_ctx *ctx) * Search the end of the string pointed by line */ for (next = line; *next; ++next) { - if ((next - (char *)data) > ctx->size) { + if ((next - (char *)data) > usable_envsize) { free(buf[0]); return -EIO; }