From 108ac8f2e9bea7ced15199953a9792888abf6ee8 Mon Sep 17 00:00:00 2001 From: Frank Lahm Date: Thu, 23 Sep 2010 15:25:39 +0200 Subject: [PATCH] Fix for memory leaks with symlinks, fixes #3074077 and #3074078 --- libatalk/adouble/ad_flush.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libatalk/adouble/ad_flush.c b/libatalk/adouble/ad_flush.c index 5d99227a..1f4d8b33 100644 --- a/libatalk/adouble/ad_flush.c +++ b/libatalk/adouble/ad_flush.c @@ -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 { -- 2.39.2