[OpenBIOS] [PATCH] mac-parts.c: Fix /packages/mac-parts boot when the package arguments are empty.

Alexander Graf agraf at suse.de
Mon Feb 25 14:10:20 CET 2013


On 23.02.2013, at 18:16, Mark Cave-Ayland wrote:

> Commit r1072 removed a couple of NULL pointer checks for package arguments,
> however if the arguments are empty in Forth then they are converted back to a
> NULL pointer which causes an exception when dereferenced.
> 
> Add the checks back in which fixes boot of the debian_lenny_powerpc_small.qcow2
> test image with quik once again. Based upon an earlier patch by Alexander Graf
> <agraf at suse.de>.
> 
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
> CC: Alexander Garf <agraf at suse.de>

Acked-by: Alexander Graf <agraf at suse.de>


Alex

> ---
> openbios-devel/packages/mac-parts.c |    4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/openbios-devel/packages/mac-parts.c b/openbios-devel/packages/mac-parts.c
> index d0cba05..12c94e5 100644
> --- a/openbios-devel/packages/mac-parts.c
> +++ b/openbios-devel/packages/mac-parts.c
> @@ -68,7 +68,7 @@ macparts_open( macparts_info_t *di )
> 		[(id)][,][filespec]
> 	*/
> 	
> -	if ( strlen(str) ) {
> +	if ( str && strlen(str) ) {
> 		/* Detect the arguments */
> 		if ((*str >= '0' && *str <= '9') || (*str == ',')) {
> 		    push_str(str);
> @@ -126,7 +126,7 @@ macparts_open( macparts_info_t *di )
> 	 * Implement partition selection as per the PowerPC Microprocessor CHRP bindings
> 	 */
> 
> -	if (parnum == 0) {
> +	if (str == NULL || parnum == 0) {
> 		/* According to the spec, partition 0 as well as no arguments means the whole disk */
> 		offs = (long long)0;
> 		size = (long long)__be32_to_cpu(dmap.sbBlkCount) * bs;
> -- 
> 1.7.10.4
> 




More information about the OpenBIOS mailing list