memory leak on a particular code path for Linux xattr/acl handling.
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8923 
91ce42f0-d328-0410-95d8-
f526ca767f89
 
     */
    if ((jcr->acl_data_len = generic_get_acl_from_os(jcr, BACL_TYPE_ACCESS)) < 0)
       return false;
+#endif
 
    if (jcr->acl_data_len > 0) {
       if (!send_acl_stream(jcr, STREAM_ACL_DARWIN_ACCESS_ACL))
          return false;
    }
-#endif
 
    return true;
 }
 
       bp = strchr(bp, '\0') + 1;
    }
 
-   if (count == 0)
+   if (count == 0) {
+      free(xattr_list);
+
       return true;
+   }
 
    /*
     * Allocate enough room to hold all extended attributes.
       strncpy(ptr->target, target, sizeof(ptr->target));
       if (xattr_link_cache_head == NULL)
          xattr_link_cache_head = ptr;
+      if (xattr_link_cache_tail != NULL)
+         xattr_link_cache_tail->next = ptr;
       xattr_link_cache_tail = ptr;
    }
 }
 
 General:
 
 23Jun09
+mvw  Fix 2 rather big bugs in the xattr and acl code and fix a small
+     memory leak on a particular code path for Linux xattr/acl handling.
 ebl  Update FileSetId when initializing job.
 ebl  Fix compilation problem with message.c
 ebl  Add '*' when volume is online when displaying volume list in restore. Should