summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Narayan Kamath <narayan@google.com> 2016-02-02 09:31:04 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-02-02 09:31:04 +0000
commit21b2b7306e7d0612cdcb90eaa8102b6a7fa3f130 (patch)
treeef3677e5b9af230e939fc74021ec36e2696aa993
parentc71c44a524e3b5f1f6a9864a0f03b20acd153a6d (diff)
parente45abfa083cacdd858feb7c6bcf0b03647a37989 (diff)
Merge "Alarm: add missing closedir after opendir when searching for RTC"
-rw-r--r--services/core/jni/com_android_server_AlarmManagerService.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/services/core/jni/com_android_server_AlarmManagerService.cpp b/services/core/jni/com_android_server_AlarmManagerService.cpp
index 5cbb277a2f12..246ab0d259f4 100644
--- a/services/core/jni/com_android_server_AlarmManagerService.cpp
+++ b/services/core/jni/com_android_server_AlarmManagerService.cpp
@@ -40,6 +40,8 @@
#include <linux/android_alarm.h>
#include <linux/rtc.h>
+#include <memory>
+
namespace android {
static const size_t N_ANDROID_TIMERFDS = ANDROID_ALARM_TYPE_COUNT + 1;
@@ -323,14 +325,14 @@ static bool rtc_is_hctosys(unsigned int rtc_id)
static int wall_clock_rtc()
{
- DIR *dir = opendir(rtc_sysfs);
- if (!dir) {
+ std::unique_ptr<DIR, int(*)(DIR*)> dir(opendir(rtc_sysfs), closedir);
+ if (!dir.get()) {
ALOGE("failed to open %s: %s", rtc_sysfs, strerror(errno));
return -1;
}
struct dirent *dirent;
- while (errno = 0, dirent = readdir(dir)) {
+ while (errno = 0, dirent = readdir(dir.get())) {
unsigned int rtc_id;
int matched = sscanf(dirent->d_name, "rtc%u", &rtc_id);