diff options
Diffstat (limited to 'libdiskfs')
-rw-r--r-- | libdiskfs/fsys-startup.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libdiskfs/fsys-startup.c b/libdiskfs/fsys-startup.c index d85f6620..d8f0847f 100644 --- a/libdiskfs/fsys-startup.c +++ b/libdiskfs/fsys-startup.c @@ -32,10 +32,17 @@ S_fsys_startup (mach_port_t port, mach_msg_type_name_t *dotdotpoly) { struct port_info *pi = ports_check_port_type (port, PT_TRANSBOOT); + error_t err; + if (pi) - return fshelp_handle_fsys_startup (pi, ctl, real, realpoly, - dotdot, dotdotpoly); + { + err = fshelp_handle_fsys_startup (pi, ctl, real, realpoly, + dotdot, dotdotpoly); + ports_done_with_port (pi); + return err; + } else return diskfs_execboot_fsys_startup (port, ctl, real, realpoly, dotdot, dotdotpoly); } + |