* Remove any backup files that exceed versions.
*/
if (*digit_end == '\0' && version >= versions) {
- int n = unlinkat(dirfd(dir.handle),
- dir.entry.name, 0);
+ int n = dirfd(dir.handle);
+ if (n >= 0) {
+ n = unlinkat(n, dir.entry.name, 0);
+ }
if (n < 0) {
result = isc_errno_toresult(errno);
if (result != ISC_R_SUCCESS &&
* Remove any backup files that exceed versions.
*/
if (*digit_end == '\0' && version < last) {
- int n = unlinkat(dirfd(dir.handle),
- dir.entry.name, 0);
+ int n = dirfd(dir.handle);
+ if (n >= 0) {
+ n = unlinkat(n, dir.entry.name, 0);
+ }
if (n < 0) {
result = isc_errno_toresult(errno);
if (result != ISC_R_SUCCESS &&