Print this page
3027 installgrub can segfault when encountering bogus data on disk

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/boot/installgrub/installgrub.h
          +++ new/usr/src/cmd/boot/installgrub/installgrub.h
↓ open down ↓ 45 lines elided ↑ open up ↑
  46   46          char            boot_sector[SECTOR_SIZE];
  47   47  } ig_device_t;
  48   48  
  49   49  typedef struct _stage2_data {
  50   50          char                    *buf;
  51   51          char                    *file;
  52   52          char                    *extra;
  53   53          multiboot_header_t      *mboot;
  54   54          uint32_t                mboot_off;
  55   55          uint32_t                file_size;
       56 +        uint32_t                extra_size;
  56   57          uint32_t                buf_size;
  57   58          uint32_t                first_sector;
  58   59          uint32_t                pcfs_first_sectors[2];
  59   60  } ig_stage2_t;
  60   61  
  61   62  typedef struct _ig_data {
  62   63          char            stage1_buf[SECTOR_SIZE];
  63   64          ig_stage2_t     stage2;
  64   65          ig_device_t     device;
  65   66  } ig_data_t;
↓ open down ↓ 28 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX