--- apr-1.5.1/file_io/unix/filestat.c 2014-11-01 06:42:50.000000000 -0400 +++ apr-1.5.1/file_io/unix/filestat.c.new 2014-11-01 07:07:32.000000000 -0400 @@ -297,9 +297,11 @@ finfo->pool = pool; finfo->fname = fname; fill_out_finfo(finfo, &info, wanted); - if (wanted & APR_FINFO_LINK) - wanted &= ~APR_FINFO_LINK; - return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS; + if (wanted & APR_FINFO_LINK) { + return ((wanted & ~APR_FINFO_LINK) & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS; + } else { + return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS; + } } else { #if !defined(ENOENT) || !defined(ENOTDIR)