Author: mcayland Date: Thu Apr 8 23:19:09 2010 New Revision: 736 URL: http://tracker.coreboot.org/trac/openbios/changeset/736
Log: Fix bug when DEBUG_CIF is enabled and getprop is called with nret set to zero. Originally the code tried to use the size returned from the CIF, but with nret set to zero then the size argument is never pushed onto the stack and so the size would be set to whatever junk was left in the argument block. Change the code to use the size expected by the client instead.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk
Modified: trunk/openbios-devel/libopenbios/client.c
Modified: trunk/openbios-devel/libopenbios/client.c ============================================================================== --- trunk/openbios-devel/libopenbios/client.c Mon Apr 5 21:19:37 2010 (r735) +++ trunk/openbios-devel/libopenbios/client.c Thu Apr 8 23:19:09 2010 (r736) @@ -171,7 +171,7 @@ printk("0x%08lx\n", pb->args[pb->nargs]); } else if (strcmp(pb->service, "getprop") == 0) { printk("%ld\n", pb->args[pb->nargs]); - memdump((char*)pb->args[2], pb->args[pb->nargs]); + memdump((char*)pb->args[2], pb->args[3]); } else if (strcmp(pb->service, "nextprop") == 0) { printk("%ld\n", pb->args[pb->nargs]); memdump((char*)pb->args[2], pb->args[pb->nargs]);