From patchwork Fri Oct 4 04:45:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: AKASHI Takahiro X-Patchwork-Id: 1171568 X-Patchwork-Delegate: xypron.glpk@gmx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="EG7kMHN2"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 46ky0F23Zxz9sPv for ; Fri, 4 Oct 2019 14:42:21 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id EDBCCC21E18; Fri, 4 Oct 2019 04:42:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id E8143C21E18; Fri, 4 Oct 2019 04:42:08 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D650DC21F53; Fri, 4 Oct 2019 04:42:07 +0000 (UTC) Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by lists.denx.de (Postfix) with ESMTPS id 3F419C21E18 for ; Fri, 4 Oct 2019 04:42:07 +0000 (UTC) Received: by mail-pf1-f196.google.com with SMTP id y5so3118544pfo.4 for ; Thu, 03 Oct 2019 21:42:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=J88v/vxmwjCFWf8yKDeibTC8MnTnSxqH6LqF5/2LMeM=; b=EG7kMHN2xP/ayDE0YrFR60R73V5OFzc9IulOwsPuLqBYCJWNfCOE+h/j2l07snMLzN rgiiovKhV4v+UEu2UR7LRwr4kr8oPBO0pMqdNKvHsL2/4nyUcO/pc3ouNZMN2qlfQlc8 xyech4nMZe3PfRDS/ISaIIGQoH9EKz6DdvRxiHi+S8zB8FPxEnrWYJs9ZlD7Xvfy1xxr 3RK+Lzr4NMz+nqk46WDYgNEKePeO+jvIKkyvAfVa5P9r38ez6Cmk9SPvSlNO88g2zhZY BGRjFTe+KPUz+jqTqf+cZgS5o7kXBmmY9uM+tskU6OQjfG3LwQGrivzWo4hAstbkJygh vi9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=J88v/vxmwjCFWf8yKDeibTC8MnTnSxqH6LqF5/2LMeM=; b=AuaxokV6O7jmYaiPSbI3nVIP2UYwYA+vBK0tffw0wPOxaSPmIyidae18CDCRPgAiaI FN/xXiRcVwhgucso1QXiYLE0yThv0gojk9WBfkcov0ia2ppWsMPqVGIQWliaXiC9iTP0 CUZWxsBZ6mkALkco7JhZd2ylZtSuuO4f/rFMdutZHl/NKoHqloCinC6bDv/cMT3SqsIR T9m9Es2rrWyGe7GAxxcxGTIN5b8wXBOTQ6Ng8eUnpqBdUzrNUc60x3lqL96sOgnoSykE ituwFKdE7U4Urvew2tkIQkHRxFg8K+d8hsA8Ti0E826pV4sMq68Dxh2LWoq2QsxdsNZr rklg== X-Gm-Message-State: APjAAAXfNMi8BXvRXSxScgEtIGezAGpTt8bHR2Ue8GVh8JnKfEDRkywp ChTqwALNgaVDW6zA1Lzy/8Xc3g== X-Google-Smtp-Source: APXvYqxkGvnel4NuEsNhuTeYY0al12rm1sgFnK5UZeBT3FdMetSl/JWybwhrDzqT518bdHvaX3dPLA== X-Received: by 2002:a63:e812:: with SMTP id s18mr12820971pgh.291.1570164125477; Thu, 03 Oct 2019 21:42:05 -0700 (PDT) Received: from linaro.org ([121.95.100.191]) by smtp.googlemail.com with ESMTPSA id a23sm4166701pgd.83.2019.10.03.21.42.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Oct 2019 21:42:05 -0700 (PDT) From: AKASHI Takahiro To: xypron.glpk@gmx.de, agraf@csgraf.de Date: Fri, 4 Oct 2019 13:45:50 +0900 Message-Id: <20191004044550.27350-1-takahiro.akashi@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH] efi_loader: device_path: allow for arbitrary length of file path X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" This patch will lift the upper limit of maximum path length. Signed-off-by: AKASHI Takahiro --- lib/efi_loader/efi_device_path.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c index 86297bb7c116..13a2b5e29db1 100644 --- a/lib/efi_loader/efi_device_path.c +++ b/lib/efi_loader/efi_device_path.c @@ -1017,8 +1017,7 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr, struct blk_desc *desc = NULL; disk_partition_t fs_partition; int part = 0; - char filename[32] = { 0 }; /* dp->str is u16[32] long */ - char *s; + char *filename, *s; if (path && !file) return EFI_INVALID_PARAMETER; @@ -1042,13 +1041,16 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr, if (!path) return EFI_SUCCESS; - snprintf(filename, sizeof(filename), "%s", path); + filename = strdup(path); + if (!filename) + return EFI_OUT_OF_RESOURCES; /* DOS style file path: */ s = filename; while ((s = strchr(s, '/'))) *s++ = '\\'; *file = efi_dp_from_file(((!is_net && device) ? desc : NULL), part, filename); + free(filename); return EFI_SUCCESS; }