path_size is computed in part by taking the size of the format string.
However, the format string contains conversion specifiers. These
conversion specifiers are included in the size calculation resulting in
a size calculation that is larger than it needs to be.  This patch
corrects that error by removing the conversion specifiers when computing
path_size.

Signed-off-by: Nicholas Vinson <[email protected]>
---
 grub-core/osdep/linux/ofpath.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/osdep/linux/ofpath.c b/grub-core/osdep/linux/ofpath.c
index 0ebfea44c..38d9bb5bf 100644
--- a/grub-core/osdep/linux/ofpath.c
+++ b/grub-core/osdep/linux/ofpath.c
@@ -507,7 +507,7 @@ check_sas (const char *sysfs_path, int *tgt, unsigned long 
int *sas_address)
   p_len = (int) (q - sysfs_path);
   ed_len = (int) (q - ed);
 
-  path_size = (p_len + ed_len + sizeof ("%s/sas_device/%s/phy_identifier"));
+  path_size = (p_len + ed_len + sizeof ("/sas_device//phy_identifier"));
   path = xmalloc (path_size);
   snprintf (path, path_size, "%.*s/sas_device/%.*s/phy_identifier", p_len,
            sysfs_path, ed_len, ed);
-- 
2.53.0


_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to