2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
* kern/disk.c (grub_disk_read): Check return value of grub_realloc().
This commit is contained in:
		
							parent
							
								
									260ba823e6
								
							
						
					
					
						commit
						7262eca1e3
					
				
					 2 changed files with 12 additions and 1 deletions
				
			
		|  | @ -1,3 +1,8 @@ | |||
| 2007-05-18  Jeroen Dekkers  <jeroen@dekkers.cx> | ||||
| 
 | ||||
| 	* kern/disk.c (grub_disk_read): Check return value of | ||||
| 	grub_realloc(). | ||||
| 
 | ||||
| 2007-05-18  Jeroen Dekkers  <jeroen@dekkers.cx> | ||||
| 
 | ||||
| 	* util/getroot.c (grub_util_get_grub_dev): Support partitionable | ||||
|  |  | |||
|  | @ -409,13 +409,19 @@ grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, | |||
| 	    { | ||||
| 	      /* Uggh... Failed. Instead, just read necessary data.  */ | ||||
| 	      unsigned num; | ||||
| 	      char *p; | ||||
| 
 | ||||
| 	      grub_errno = GRUB_ERR_NONE; | ||||
| 
 | ||||
| 	      num = ((size + GRUB_DISK_SECTOR_SIZE - 1) | ||||
| 		     >> GRUB_DISK_SECTOR_BITS); | ||||
| 
 | ||||
| 	      tmp_buf = grub_realloc (tmp_buf, num << GRUB_DISK_SECTOR_BITS); | ||||
| 	      p = grub_realloc (tmp_buf, num << GRUB_DISK_SECTOR_BITS); | ||||
| 	      if (!p) | ||||
| 		goto finish; | ||||
| 
 | ||||
| 	      tmp_buf = p; | ||||
| 	       | ||||
| 	      if ((disk->dev->read) (disk, sector, num, tmp_buf)) | ||||
| 		{ | ||||
| 		  grub_error_push (); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue