From 1b929d2579bbd362e094f1087776a67dbbb8afea Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Wed, 16 Jun 1993 20:31:01 +0000 Subject: [PATCH] * sysdep.c (closedir): Don't free directory buffer if it looks like it and the DIR were malloced together. --- src/sysdep.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sysdep.c b/src/sysdep.c index e696cb3d352..2bbdf2640f2 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -2927,7 +2927,11 @@ closedir (dirp) register DIR *dirp; /* stream from opendir */ { sys_close (dirp->dd_fd); - xfree ((char *) dirp->dd_buf); /* directory block defined in */ + + /* Some systems allocate the buffer and the DIR all in one block. + Why in the world are we freeing this ourselves anyway? */ + if (dirp->dd_buf != (char *)(dirp + 1)) + xfree ((char *) dirp->dd_buf); /* directory block defined in */ xfree ((char *) dirp); } #endif /* not AIX */