Page MenuHomeFreeBSD

bsdinstall(8): partedit can hang/crash on read/lseek/malloc failures
Needs ReviewPublic

Authored by will_worrbase.com on Mar 3 2018, 8:36 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

bsdinstall(8): partedit can hang/crash on read/lseek/malloc failures

This fixes a few problems:

  • if lseek(2) fails, bootsize underflows to SIZE_T_MAX, making the resulting allocation dangerous
  • if malloc(3) fails, we end up with a null pointer deref later
  • if read(2) fails, the installer will hang trying to read(2) boot loader code
Test Plan

Tested via entering the partition editor in bsdinstall

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 15351
Build 15406: arc lint + arc unit

Event Timeline

will_worrbase.com retitled this revision from Replace malloc + read in a loop with mmap to bsdinstall(8): partedit can hang/crash on read/lseek/malloc failures.Mar 3 2018, 8:37 AM
will_worrbase.com edited the summary of this revision. (Show Details)