From: Frank Lahm Date: Fri, 2 Mar 2012 14:27:12 +0000 (+0100) Subject: Fix fd leakage X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=commitdiff_plain;h=2be49d8ce45a09753a7029365075349510b763c0 Fix fd leakage --- diff --git a/libatalk/adouble/ad_open.c b/libatalk/adouble/ad_open.c index 8c0c21d0..b0ffba07 100644 --- a/libatalk/adouble/ad_open.c +++ b/libatalk/adouble/ad_open.c @@ -514,11 +514,13 @@ static int ad_header_read(const char *path _U_, struct adouble *ad, const struct int ad_valid_header_osx(const char *path) { EC_INIT; - int fd; + int fd = -1; struct adouble adosx; char *buf = &adosx.ad_data[0]; ssize_t header_len; + LOG(log_debug, logtype_afpd, "ad_valid_header_osx(\"%s\"): BEGIN", fullpathname(path)); + EC_NEG1( fd = open(path, O_RDONLY) ); /* read the header */ @@ -538,6 +540,9 @@ int ad_valid_header_osx(const char *path) } EC_CLEANUP: + LOG(log_debug, logtype_afpd, "ad_valid_header_osx(\"%s\"): END: %d", fullpathname(path), ret); + if (fd != -1) + close(fd); if (ret != 0) return 1; return 0;