OSDN Git Service

Use errno correctly.
authortao.pei <tao.pei@ck-telecom.com>
Mon, 17 Aug 2015 12:18:49 +0000 (20:18 +0800)
committertao.pei <tao.pei@ck-telecom.com>
Mon, 17 Aug 2015 12:22:17 +0000 (20:22 +0800)
Make sure to check errno prior to doing anything
else that can modify it.

Change-Id: Id81ecc2c3fa07c222ab1e2ef6441331a1eaad635

Loop.cpp

index b1e9f6a..37ad102 100644 (file)
--- a/Loop.cpp
+++ b/Loop.cpp
@@ -103,10 +103,11 @@ int Loop::lookupActive(const char *id, char *buffer, size_t len) {
         }
 
         rc = ioctl(fd, LOOP_GET_STATUS64, &li);
-        close(fd);
         if (rc < 0 && errno == ENXIO) {
+            close(fd);
             continue;
         }
+        close(fd);
 
         if (rc < 0) {
             SLOGE("Unable to get loop status for %s (%s)", filename,