|  | @@ -52,7 +52,7 @@ cdef extern from "sys/acl.h":
 | 
	
		
			
				|  |  |      char *acl_to_text(acl_t acl, ssize_t *len)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  cdef extern from "acl/libacl.h":
 | 
	
		
			
				|  |  | -    int acl_extended_file(const char *path)
 | 
	
		
			
				|  |  | +    int acl_extended_file_nofollow(const char *path)
 | 
	
		
			
				|  |  |      int acl_extended_fd(int fd)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  cdef extern from "linux/fs.h":
 | 
	
	
		
			
				|  | @@ -234,17 +234,15 @@ def acl_get(path, item, st, numeric_ids=False, fd=None):
 | 
	
		
			
				|  |  |      cdef char *access_text = NULL
 | 
	
		
			
				|  |  |      cdef int ret = 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if stat.S_ISLNK(st.st_mode):
 | 
	
		
			
				|  |  | -        # symlinks can not have ACLs
 | 
	
		
			
				|  |  | -        return
 | 
	
		
			
				|  |  |      if isinstance(path, str):
 | 
	
		
			
				|  |  |          path = os.fsencode(path)
 | 
	
		
			
				|  |  |      if fd is not None:
 | 
	
		
			
				|  |  |          ret = acl_extended_fd(fd)
 | 
	
		
			
				|  |  |      else:
 | 
	
		
			
				|  |  | -        ret = acl_extended_file(path)
 | 
	
		
			
				|  |  | +        ret = acl_extended_file_nofollow(path)
 | 
	
		
			
				|  |  |      if ret == 0:
 | 
	
		
			
				|  |  |          # there is no ACL defining permissions other than those defined by the traditional file permission bits.
 | 
	
		
			
				|  |  | +        # note: this should also be the case for symlink fs objects, as they can not have ACLs.
 | 
	
		
			
				|  |  |          return
 | 
	
		
			
				|  |  |      if ret < 0:
 | 
	
		
			
				|  |  |          raise OSError(errno.errno, os.strerror(errno.errno), os.fsdecode(path))
 |