From patchwork Thu Jun 15 13:08:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Oberfichtner X-Patchwork-Id: 1795423 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2607:f8b0:4864:20::83d; helo=mail-qt1-x83d.google.com; envelope-from=swupdate+bncbaabbc43vssamgqev4vftxi@googlegroups.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20221208 header.b=qUzkSebm; dkim-atps=neutral Received: from mail-qt1-x83d.google.com (mail-qt1-x83d.google.com [IPv6:2607:f8b0:4864:20::83d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QhjLT4NXgz20QH for ; Thu, 15 Jun 2023 23:09:35 +1000 (AEST) Received: by mail-qt1-x83d.google.com with SMTP id d75a77b69052e-3fda1a83608sf29628431cf.3 for ; Thu, 15 Jun 2023 06:09:34 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686834572; cv=pass; d=google.com; s=arc-20160816; b=w6Z13kdPIb9+nJCxV6gJDHkHfU22DFD2OmD7mD+7XJ5p2cjwoXzqSvphb933NdifWe 371mZg0m9CYzJVgPLXG8OvbsGIYGllpP5s/xudoBf1UQni1z/W//9PftkG8FY96rtNWe Csa+IcHMnfw9Iag76XbBnWmg51vIhzLZ/toNn/xh0SNPsgxVJTwTIRmEnP0FN0OxJvfx UCz0tv37wngIVgijzhR76Yj2bpZ0dZVqyr9aellhaUvcLJHJnphfJQEoWKjZERL7EXw+ GhoYQYpVgtYC2qgt/LY/hiH/Y0DTOq9330fqz0k0bJNNk2xhNFlDUeKCnkplWmZ7rMzp kLzw== 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:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=0iqUb6NlSAjMn8rzBPdX/98H4o4zcnce8bOeOyeZgaI=; b=IZbG4mKs8eFsBeQdXesdZx1cNocWyiKnmIQUESRyA/aQwXpZDwWGIp98MuBQ/+ZlTK kQCGW7OpFyHvNtnGtxPFTtfiF0ye8+6+bhtogu+X7El4arWPNxN4mX5M+QqvZbXJy9CP i/RIvAZ6Csy0VF04iZ1Yw88U2pGHu3fBXi/toYWlJlKWDtTDFucDhEsQzsNDP6xbbAPG R2h4DVgiiG6FkyIE2+x/+FkYO0U2Qcgm51omVLlM5istn5Buop2NZrrVtS70tvRoO1Gd 8xRVhm17Q9yWsRu5d3EHL514YMRcEq8t23dFtZ0aDVu/p2GpGDLyAQsIdmV8WR4znZ8m qB5g== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=WRgOHpOm; spf=pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=pro@denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1686834572; x=1689426572; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :sender:from:to:cc:subject:date:message-id:reply-to; bh=0iqUb6NlSAjMn8rzBPdX/98H4o4zcnce8bOeOyeZgaI=; b=qUzkSebm9DVprgApYYcRXeTRxNfBX1t/PcNoKkccvZBxNJX8ITNHT7X2iaCn+xyZiG mJtTaxovGN1mS8i9+3ublUIuuJiCXYfqg/IixQGkreNcVyTC74WMnErRUZ0C/RX3rp4K FxX3hM5c8eOoKmi4mILE4XdCUoxvM01UpnWCn4OCSKkiKot8uHO9I5ublHThKp98/thZ JubhQfTz+gutf20mDg0UtM0yMn4AWmCoKL5ttIJ/hNdS3Tr/ponsr28Wn867wJvCgSC1 cjNMHU8pdZpkcDoDu/DSzaLJ1TN9JFnjIdjGZIeXx5KAgzOzRp8NlV0PV3xFDjdVxRDh nG6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686834572; x=1689426572; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :sender:from:to:cc:subject:date:message-id:reply-to; bh=0iqUb6NlSAjMn8rzBPdX/98H4o4zcnce8bOeOyeZgaI=; b=aRGhizvUpNmpbMt41fvO5hDb6+UgHBYGYxJfQWIsQ4usuSk8FmVDLov36AqEV75FNe VwG6u3kdjh3we7vJHleQyWXzQI8BCBpTPJx0Pyciag9rb3h68N+JfGTVcXI2XB9rfpj5 JloPLw9fAjGMUY3jnEs1S4yn3bdiKt3OVjim5f7V9a0Y8tlCjz+wmzkBTMNwLqTqeEEb 0M/yNXRG/qg53YZSX+DjAz6PRj/8ZsA2uZuZ9BSQQFeVYNTFf9DA/Zp3u2TrfzcrLsMF YYJcFeloPGpVLxbhod+BR3Qapq4dYGxT42vZg+Qr/AvJ4LXJT+EAl8S9McXahx4lIiep HsEg== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDzRFEK9pHVD5AKbhlazqv2rT6BJ5uAP8vMP4YCBoRZ9pj3HlRVQ A9V3lNCyuGanz4It66T4ogM= X-Google-Smtp-Source: ACHHUZ4R54q1zeZrssN2qplVARCdhD9Chde81VapuhB6LdOtAMJQ2H69LBpRggBZQDA+MazvDBBXVA== X-Received: by 2002:a05:6214:caa:b0:626:376b:c95d with SMTP id s10-20020a0562140caa00b00626376bc95dmr25386045qvs.47.1686834572295; Thu, 15 Jun 2023 06:09:32 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:6214:b32:b0:62b:6fc8:9122 with SMTP id w18-20020a0562140b3200b0062b6fc89122ls866330qvj.0.-pod-prod-04-us; Thu, 15 Jun 2023 06:09:31 -0700 (PDT) X-Received: by 2002:a1f:5c92:0:b0:46e:7cad:e6e3 with SMTP id q140-20020a1f5c92000000b0046e7cade6e3mr3978821vkb.3.1686834571110; Thu, 15 Jun 2023 06:09:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686834571; cv=none; d=google.com; s=arc-20160816; b=DbMPt8dCzj8NaV9PgjdHXzQcIyKdYlxH5GVXihB17jakXMIP1+/6eL8beVmZeDGMm0 mbw5Y9MN+YQTciBoEG0h1sbsdhUGKVPCZq5kK4WkLo1KOmwWcnHVVAd86woST27uPcgn 5k4NZAueb9J5SLkTiZO1/ci+HQKqu6nt7KJ1YqbLpjTNhCtjKBGW7UFZXtzmYmBXHZKb omP70EDx6TraFV4uYJ+ngSv4MNfnty2Sk8ApkWxmcolIa1t4wO+YgxfhV7VrxL06kZ1o JMpLw7hzNH+cIMVisgHwayzBQpUY80SCQafszDCk1ShvqRXxsCIAf/sK/nmhNcTJMalm F35w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=nJFIR7IBVxOJUZY2KACn+OhHLpRLRAybwykNplMD6GE=; b=yPZI4uOxsyR8PQWmfdJYy1UMHiYKk6dbn1jzgtuh0L9JnltQw0mTYez4sIc7V5cGSq z9V4MhTS7fGmfNhvwGu6u5CQNhAQJNbYq1nMmNvUKN3eIIdf/GVjzdJjuuchf2+L6+Ek JREp0VgdSjxo40nuf/278Qmvk/CbClr4mzvtrHLy9w/CurTvZpV3INLJEoNHRwNapvPd hzgWryOpZt5S63pUZeuY0t6UcCHElGShIOhMvKD6pA7bvqAWr3eK+ZU4o25EFUIkaaet NGKXI1+wgbYQgWY+DGrr1ii5CtC9Y1TDngDMdG3nmCZT+PYjtrLfY85FWfAmOcBf39Xi c5GA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=WRgOHpOm; spf=pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=pro@denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by gmr-mx.google.com with ESMTPS id 20-20020a05612208d400b0046557175e54si1631381vkg.1.2023.06.15.06.09.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 06:09:30 -0700 (PDT) Received-SPF: pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Received: from mail-internal.denx.de (p578adb1c.dip0.t-ipconnect.de [87.138.219.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: noc@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 8CF508626D for ; Thu, 15 Jun 2023 15:09:25 +0200 (CEST) Received: from pollux.denx.de (pollux [192.168.1.1]) by mail-internal.denx.de (Postfix) with ESMTPS id 7847C18068B for ; Thu, 15 Jun 2023 15:09:20 +0200 (CEST) Received: by pollux.denx.de (Postfix, from userid 535) id 415BC1A0094; Thu, 15 Jun 2023 15:09:20 +0200 (CEST) From: Philip Oberfichtner To: swupdate@googlegroups.com Cc: sbabic@denx.de, Philip Oberfichtner Subject: [swupdate] [libubootenv PATCH v2 1/2] validate_flags: Bugfix for TYPE_ATTR_HEX Date: Thu, 15 Jun 2023 15:08:54 +0200 Message-Id: <20230615130854.2700871-1-pro@denx.de> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean X-Original-Sender: pro@denx.de X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=WRgOHpOm; spf=pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=pro@denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , value should start with the '0' character, corresponding to 0x30. Before this patch we checked for 0x00 instead. Reviewed-by: Stefano Babic Signed-off-by: Philip Oberfichtner --- Changes in v2: Reviewed by Stefano src/uboot_env.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uboot_env.c b/src/uboot_env.c index 3320753..a31e459 100644 --- a/src/uboot_env.c +++ b/src/uboot_env.c @@ -1711,7 +1711,7 @@ static bool libuboot_validate_flags(struct var_entry *entry, const char *value) case TYPE_ATTR_DECIMAL: case TYPE_ATTR_HEX: errno = 0; - ok_type = strlen(value) > 2 && (value[0] == 0) && + ok_type = strlen(value) > 2 && (value[0] == '0') && (value[1] == 'x' || value [1] == 'X'); if (ok_type) { test = strtoull(value, NULL, 16); From patchwork Thu Jun 15 13:08:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Oberfichtner X-Patchwork-Id: 1795424 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2001:4860:4864:20::3a; helo=mail-oa1-x3a.google.com; envelope-from=swupdate+bncbaabbh43vssamgqehcvw2ea@googlegroups.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20221208 header.b=LZFzU4lr; dkim-atps=neutral Received: from mail-oa1-x3a.google.com (mail-oa1-x3a.google.com [IPv6:2001:4860:4864:20::3a]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QhjLq4PTCz20QH for ; Thu, 15 Jun 2023 23:09:55 +1000 (AEST) Received: by mail-oa1-x3a.google.com with SMTP id 586e51a60fabf-1a02fd9fd7esf5075520fac.0 for ; Thu, 15 Jun 2023 06:09:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686834591; cv=pass; d=google.com; s=arc-20160816; b=naO49nn37jplPSQS/lB8w2xspsEhQnofMqcMFeDNXDjxe2An9xqZ8BumZP0vtFdt7d ZjbKRz6AzEqwrrqEjKrJO8WVXAVtN2RcXwhSXMhxMWgS6IRSaRf6iD4S6oTs3EqxlHSp VO5etEIPAhXc0Wt+Iwad/J1PpAg/OozPFtHvkXlFZmDq7szL3yke7I8J4mkQeLHKhF7/ jkXUD1upb3mB/8rNxZIttnUV4WcdG3ROTnqfAHZEbwh9dxyB7xwb9diyTe3frjXX8Lob 8O5Hu0zXH+3UmgK/1hfbil5N20CdoprI8GAODf8gZKVt8+511jhQD+K6a2DHIAjT3AFV oNcg== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=D0txC5P0e7Q8euqPuJoPb0vs5fiLl7B57fIRcVZHYkM=; b=deru9J8xs+BJceU30Y/lKn4HDpxjj45AsWcivap9T/tCNst8ZGJ7o5cwdSg12LXQHE p+x3pD88zZ/yTwDjZlxmwsdL/TKGsBEcmeov3plDJO5TLSODcx3g2t2PJwAxMzwX6Jjt tNeARDuiHWU1R8zR/mcLJF4mG/A+ccs0XCZwcGgFQJ0lBSws4hpqiUIiVwKhpKRfmvdc ogWJwqYQiwSBr0HJTV+OvTDhPTH1x66mk0nkBp2OmNpuYnPN50jKF2mJIHEBxbUxDUfK pSeDKiR4fvbCo9h/oaclc9t/05aq+kmOvVEjz/qMl5Z/LrivPDixc5X73ONgiEurmEYh WZTQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=xUCZqD9G; spf=pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=pro@denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1686834591; x=1689426591; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=D0txC5P0e7Q8euqPuJoPb0vs5fiLl7B57fIRcVZHYkM=; b=LZFzU4lrj8G5yD9ISqT4eWx4KCzIHr29GZ4Aqo6WLbU2hrxYf6qG9NNMGc1K0msC86 +MZA9XVPDB0FS4jb7K4vMs+WbCmOnLOE/2IfF9OzmrcPzfCqFKZsyyJ0itvFmyXBn9dz jIu8WGnw5xPrXqDElZZvwc4MfrblOYZzWiAydlTqwPWJu3Lf8MoSj5PoS6NARMCXYZF9 2jN+Y9XoZrl2T4//4/c3pbrDVPC07UWggPLS8AIlD/o4TOtw4jjTt4YYZxmYH9MHEU6+ wpbOAZAubSVi8EaRANdOGaXZeEQOg1AXnK6RTFOebVbPwGldyuBoAJMRjrOSe8dPugn5 U+PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686834591; x=1689426591; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=D0txC5P0e7Q8euqPuJoPb0vs5fiLl7B57fIRcVZHYkM=; b=kQvB43grbaGWn49fOjC+qco/Urw1pEJ4NXkzEwSwqRqp/LKovfm0jd4qU1wcovdxQW MPD4j5yaco1OnvzzMArQ2DVtdTG7pzp0JmuB4UFRDVTTe6CRUK3suKFeYmmMVD3yqAxa VATSy0oeFVb3OnUGIEVIMMtKZueUThLgf/vX12hvM/09NOExriFHoshg7KvhSVtBClZ9 N1HLDYl35ux1l3rrTXTeGavKR3IQwrasG6mzvv2OWPmGctqdEbTz3916cuYhEBPp3+Xj 7/BD3SoTaXz1kuMFuhFV93Q46Kgd11hS05h6gxbeSA9EGXNQBbT36Wat3brhFq/7Vdev P8hQ== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDwTCnUSJnJuiaDR1ghFh7euUu2f8Zlha0C+WEfHJSZ+joAi417O KQMkvcuUDXqSv+ZI0Ln7fas= X-Google-Smtp-Source: ACHHUZ53tc5QvLQedtQwrQeKD5fX1QcQePgMdhrumQoA+8ijw66JUqD5AW7UYTYj+uj7DbmID7Z7iw== X-Received: by 2002:a05:6870:4407:b0:193:fac2:178 with SMTP id u7-20020a056870440700b00193fac20178mr14918555oah.12.1686834591516; Thu, 15 Jun 2023 06:09:51 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:6870:ec87:b0:1a3:8258:684b with SMTP id eo7-20020a056870ec8700b001a38258684bls168704oab.1.-pod-prod-02-us; Thu, 15 Jun 2023 06:09:50 -0700 (PDT) X-Received: by 2002:a05:6830:100a:b0:6ad:da5d:5357 with SMTP id a10-20020a056830100a00b006adda5d5357mr14454263otp.38.1686834590884; Thu, 15 Jun 2023 06:09:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686834590; cv=none; d=google.com; s=arc-20160816; b=b3t3H8a5q4dO5H/yirBltjRyPN6pIAhIsVVtGyd97FHFrJuBnLHCCKDxoQvlP4H98p VQm/4ewAlWKcFe3QDeF9Jvk7yoyKuqn7ZNARZeH7jHwW/SIYVWyFZy8/O9OLquW85g03 ksv+DOz092ebhoIBw02VYFijGGuZJ+s/2zNdjXDlFYCkNg3VkzcPpFzJaUQM0FEBMdfx UOE6zBWakv0i91yrz7yAbiXc+Vn02f9ueKLYMWEGsTCAU2A3JIeuiYhkSLzLHb/cXnyV Xq84syTL22bpdmhObOglonQ3tlOhnE+CDy5sBAYz1koVH37HAZlkM0U2vDg5uUoDwmIp l8vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=k/j2OdLPkPAW34UqRYVIe2g1k7sKu8Ia/mR+poqJHzE=; b=wpkaiezRYz8rx/FmKYmUYn7Rtnffvb32cfjz/PR66CPKEMH7EOHBttpmPoLpfxRulX KvAQ+eoUJezWao8SttkMrXMLPYCMe0hJdKfbr/pJNt5tn9GFbFCvIEst0Ybr+O4IO60t yaopupk5MMbtx4M0jJs9qNL9Ek4GtJkFjltVR2fQAWft8BIPsY5eQdZLCtukmqkP4oE+ x4Ytkzs/iV9LJ3b5WE4vpcZG5iHyRRZwaBqy9apGgEKxg026w11PZRgsEGSWooizWsmX ucNx61FbsggRzC8dM1QpfCJxigL0gduYV6T3oziuUu/GDzccmFO55ngZBuwTVvSg45Jj rIDA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=xUCZqD9G; spf=pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=pro@denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by gmr-mx.google.com with ESMTPS id bq21-20020a056830389500b006a5f12c714bsi1646810otb.0.2023.06.15.06.09.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 06:09:50 -0700 (PDT) Received-SPF: pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Received: from mail-internal.denx.de (p578adb1c.dip0.t-ipconnect.de [87.138.219.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: noc@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id ADBDC8626D for ; Thu, 15 Jun 2023 15:09:45 +0200 (CEST) Received: from pollux.denx.de (pollux [192.168.1.1]) by mail-internal.denx.de (Postfix) with ESMTPS id A921018068B for ; Thu, 15 Jun 2023 15:09:40 +0200 (CEST) Received: by pollux.denx.de (Postfix, from userid 535) id 9A4DD1A0094; Thu, 15 Jun 2023 15:09:40 +0200 (CEST) From: Philip Oberfichtner To: swupdate@googlegroups.com Cc: sbabic@denx.de, Philip Oberfichtner Subject: [swupdate] [libubootenv PATCH v2 2/2] validate_flags: Use isdigit() instead of strtoull() Date: Thu, 15 Jun 2023 15:08:56 +0200 Message-Id: <20230615130854.2700871-2-pro@denx.de> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20230615130854.2700871-1-pro@denx.de> References: <20230615130854.2700871-1-pro@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean X-Original-Sender: pro@denx.de X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@denx.de header.s=phobos-20191101 header.b=xUCZqD9G; spf=pass (google.com: domain of pro@denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=pro@denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , Using strtoull() is unreliable for testing if the input is a number. It is implementation-defined, whether or not errno is set. Furthermore, the decimal type has to be handled separately from the hex type. U-Boot will reject an "0x10" entry as decimal, "16" is expected instead. Reviewed-by: Stefano Babic Signed-off-by: Philip Oberfichtner --- Changes in v2: Reviewed by Stefano src/uboot_env.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/uboot_env.c b/src/uboot_env.c index a31e459..b1e5923 100644 --- a/src/uboot_env.c +++ b/src/uboot_env.c @@ -1681,10 +1681,24 @@ int libuboot_read_config(struct uboot_ctx *ctx, const char *config) return libuboot_read_config_ext(&ctx, config); } +static bool validate_int(bool hex, const char *value) +{ + const char *c; + + for (c = value; c != value + strlen(value); ++c) { + if (hex && !isxdigit(*c)) + return false; + + if (!hex && !isdigit(*c)) + return false; + } + + return true; +} + static bool libuboot_validate_flags(struct var_entry *entry, const char *value) { bool ok_type = true, ok_access = true; - unsigned long long test; switch (entry->access) { case ACCESS_ATTR_ANY: @@ -1709,15 +1723,13 @@ static bool libuboot_validate_flags(struct var_entry *entry, const char *value) ok_type = true; break; case TYPE_ATTR_DECIMAL: + ok_type = validate_int(false, value); + break; case TYPE_ATTR_HEX: - errno = 0; ok_type = strlen(value) > 2 && (value[0] == '0') && (value[1] == 'x' || value [1] == 'X'); - if (ok_type) { - test = strtoull(value, NULL, 16); - if (errno) - ok_type = false; - } + if (ok_type) + ok_type = validate_int(true, value + 2); break; case TYPE_ATTR_BOOL: ok_access = (value[0] == '1' || value[0] == 'y' || value[0] == 't' ||