summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index a7d95df71..03f0a1262 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -882,6 +882,15 @@ out:
#endif
}
+path_conv::~path_conv ()
+{
+ if (!normalized_path_size && normalized_path)
+ {
+ cfree (normalized_path);
+ normalized_path = NULL;
+ }
+}
+
static __inline int
digits (const char *name)
{
@@ -3500,10 +3509,6 @@ conv_path_list_buf_size (const char *path_list, bool to_posix)
+ (nrel * strlen (to_posix ? pc.normalized_path : pc.get_win32 ()))
+ 100;
- if (!pc.normalized_path_size && pc.normalized_path)
- cfree (pc.normalized_path); // FIXME - probably should be in a destructor but
- // it's hard to justify a destructor for the few
- // places where this is needed
return size;
}