From a17eb8dec4970b26fd44ba31baf7f66de95ca0e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 21 May 2019 17:56:58 +0000 Subject: [PATCH] Exit the ./gen program on failed readdir() call (cherry picked from commit 05b7c08a16eae9519473c61b947ea7137887b4a9) --- lib/dns/gen-unix.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/dns/gen-unix.h b/lib/dns/gen-unix.h index 84c3e7f78f..16b7524130 100644 --- a/lib/dns/gen-unix.h +++ b/lib/dns/gen-unix.h @@ -28,8 +28,10 @@ #include /* Required on some systems for dirent.h. */ +#include #include #include +#include #include /* XXXDCL Required for ?. */ #include @@ -66,9 +68,15 @@ next_file(isc_dir_t *dir) { dir->filename = NULL; if (dir->handle != NULL) { + errno = 0; dirent = readdir(dir->handle); - if (dirent != NULL) + if (dirent != NULL) { dir->filename = dirent->d_name; + } else { + if (errno != 0) { + exit(1); + } + } } if (dir->filename != NULL)