瀏覽代碼

Fix initrd length corruption in bootm command.

When using FDT Images, the length of an inital ramdisk was
overwritten (bug introduced by commit 87a449c8, 22 Aug 2006).

Patches by Timur Tabi & Johns Daniel.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk 18 年之前
父節點
當前提交
9877d7dcd1
共有 1 個文件被更改,包括 1 次插入2 次删除
  1. 1 2
      common/cmd_bootm.c

+ 1 - 2
common/cmd_bootm.c

@@ -779,9 +779,8 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
 
 
 			checksum = ntohl(hdr->ih_dcrc);
 			checksum = ntohl(hdr->ih_dcrc);
 			addr = (ulong)((uchar *)(hdr) + sizeof(image_header_t));
 			addr = (ulong)((uchar *)(hdr) + sizeof(image_header_t));
-			len = ntohl(hdr->ih_size);
 
 
-			if(checksum != crc32(0, (uchar *)addr, len)) {
+			if(checksum != crc32(0, (uchar *)addr, ntohl(hdr->ih_size))) {
 				printf("ERROR: Flat Device Tree checksum is invalid\n");
 				printf("ERROR: Flat Device Tree checksum is invalid\n");
 				return;
 				return;
 			}
 			}