All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] restrict parsing of `available'
@ 2008-01-13 20:06 Robert Millan
  2008-01-13 20:17 ` Robert Millan
  0 siblings, 1 reply; 2+ messages in thread
From: Robert Millan @ 2008-01-13 20:06 UTC (permalink / raw)
  To: grub-devel

[-- Attachment #1: Type: text/plain, Size: 245 bytes --]


Another patch for i386-ieee1275.  Again, I'd appreciate if someone can test
it on PowerPC hardware.

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)

[-- Attachment #2: ieee1275_available_size.diff --]
[-- Type: text/x-diff, Size: 1316 bytes --]


	* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
	actual size of `available' from grub_ieee1275_get_property(), and
	restrict parsing to that bound.

diff -urp grub2/kern/powerpc/ieee1275/openfw.c grub2.available/kern/powerpc/ieee1275/openfw.c
--- grub2/kern/powerpc/ieee1275/openfw.c	2007-12-30 09:52:05.000000000 +0100
+++ grub2.available/kern/powerpc/ieee1275/openfw.c	2008-01-13 21:03:06.000000000 +0100
@@ -141,6 +141,7 @@ grub_err_t grub_available_iterate (int (
   grub_ieee1275_phandle_t root;
   grub_ieee1275_phandle_t memory;
   grub_uint32_t available[32];
+  grub_size_t available_size;
   int address_cells = 1;
   int size_cells = 1;
   unsigned int i;
@@ -157,13 +158,14 @@ grub_err_t grub_available_iterate (int (
     return grub_error (GRUB_ERR_UNKNOWN_DEVICE,
 		       "Couldn't find /memory node");
   if (grub_ieee1275_get_property (memory, "available", available,
-				  sizeof available, 0))
+				  sizeof available, &available_size))
     return grub_error (GRUB_ERR_UNKNOWN_DEVICE,
 		       "Couldn't examine /memory/available property");
 
   /* Decode each entry and call `hook'.  */
   i = 0;
-  while (i < sizeof (available))
+  available_size /= sizeof (grub_uint32_t);
+  while (i < available_size)
     {
       grub_uint64_t address;
       grub_uint64_t size;

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] restrict parsing of `available'
  2008-01-13 20:06 [PATCH] restrict parsing of `available' Robert Millan
@ 2008-01-13 20:17 ` Robert Millan
  0 siblings, 0 replies; 2+ messages in thread
From: Robert Millan @ 2008-01-13 20:17 UTC (permalink / raw)
  To: grub-devel

On Sun, Jan 13, 2008 at 09:06:06PM +0100, Robert Millan wrote:
> +  grub_size_t available_size;

Actually, this would be grub_ssize_t.

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-01-13 20:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-13 20:06 [PATCH] restrict parsing of `available' Robert Millan
2008-01-13 20:17 ` Robert Millan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.