Found using the Clang Static Analyzer.
* libshouldbeinlibc/maptime.c (maptime_map): Fix error handling.
---
libshouldbeinlibc/maptime.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/libshouldbeinlibc/maptime.c b/libshouldbeinlibc/maptime.c
index 971e05f..ca35c6c 100644
--- a/libshouldbeinlibc/maptime.c
+++ b/libshouldbeinlibc/maptime.c
@@ -42,13 +42,13 @@ maptime_map (int use_mach_dev, char *dev_name,
mach_port_t device_master;
err = get_privileged_ports (0, &device_master);
- if (! err)
- {
- err = device_open (device_master, 0, dev_name ?: "time", &device);
- mach_port_deallocate (mach_task_self (), device_master);
- if (err)
- return err;
- }
+ if (err)
+ return err;
+
+ err = device_open (device_master, 0, dev_name ?: "time", &device);
+ mach_port_deallocate (mach_task_self (), device_master);
+ if (err)
+ return err;
err = device_map (device, VM_PROT_READ, 0, sizeof *mtime, &memobj, 0);
}
--
1.7.10.4