Called as `bsdinstall scriptedpart DEFAULT`, partedit will arrive at line 204... return (part_config(disk, scheme, partconfig)); ...with `disk`, `scheme`, and `partconfig` all set to `NULL`. These are passed to `part_config()`, which on line 79 calls: if (provider_for_name(&mesh, disk) == NULL) { With `disk` == `NULL`. In `provider_for_name()`, on line 52, we have: if (strcmp(pp->lg_name, name) == 0) Here, `name` is `NULL` (it receives the value of `disk` from `part_config()`, and this triggers a segfault.