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

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/boot/common/mboot_extra.h
          +++ new/usr/src/cmd/boot/common/mboot_extra.h
↓ open down ↓ 38 lines elided ↑ open up ↑
  39   39  /* multiboot header AOUT_KLUDGE flag. */
  40   40  #define BB_MBOOT_AOUT_FLAG      (0x00010000)
  41   41  
  42   42  /* Extra header preceeding the payloads at the end of the bootblock. */
  43   43  typedef struct _bb_extra_header {
  44   44          uint32_t        size;
  45   45          uint32_t        checksum;
  46   46  } bb_header_ext_t;
  47   47  
  48   48  uint32_t compute_checksum(char *, uint32_t);
  49      -bblk_einfo_t *find_einfo(char *);
       49 +bblk_einfo_t *find_einfo(char *, uint32_t);
  50   50  int find_multiboot(char *, uint32_t, uint32_t *);
  51   51  void add_einfo(char *, char *, bblk_hs_t *, uint32_t);
  52   52  int compare_bootblocks(char *, char *, char **);
  53   53  
  54   54  #ifdef  __cplusplus
  55   55  }
  56   56  #endif
  57   57  
  58   58  #endif /* _MBOOT_EXTRA_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX