]> arthur.barton.de Git - netatalk.git/commitdiff
Fix for memory leaks with symlinks, fixes #3074077 and #3074078
authorFrank Lahm <franklahm@googlemail.com>
Thu, 23 Sep 2010 13:25:39 +0000 (15:25 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Thu, 23 Sep 2010 13:25:39 +0000 (15:25 +0200)
libatalk/adouble/ad_flush.c

index 5d99227a6fec5b6835319dc2bf81544c08756816..1f4d8b331b4bb92eafcb3a15c4d20dffe28aa6de 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id: ad_flush.c,v 1.14 2010-03-30 12:55:26 franklahm Exp $
- *
  * Copyright (c) 1990,1991 Regents of The University of Michigan.
  * All Rights Reserved.
  *
@@ -199,9 +197,9 @@ int ad_close( struct adouble *ad, int adflags)
     int         err = 0;
 
     if ((adflags & ADFLAGS_DF)
-        && ad_data_fileno(ad) >= 0
+        && (ad_data_fileno(ad) >= 0 || ad_data_fileno(ad) == -2) /* -2 means symlink */
         && --ad->ad_data_fork.adf_refcount == 0) {
-        if (ad->ad_data_fork.adf_syml !=0) {
+        if (ad->ad_data_fork.adf_syml != NULL) {
             free(ad->ad_data_fork.adf_syml);
             ad->ad_data_fork.adf_syml = 0;
         } else {