From 27f1db48c7be1d40b320705395f36b4e395f4af1 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Tue, 20 Apr 2010 14:32:29 +0000 Subject: * path.cc (cygwin_create_path): Free memory on error. --- winsup/cygwin/path.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'winsup/cygwin/path.cc') diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 9e57a0f15..f8f65d624 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2812,11 +2812,14 @@ cygwin_create_path (cygwin_conv_path_t what, const void *from) void *to; ssize_t size = cygwin_conv_path (what, from, NULL, 0); if (size <= 0) - return NULL; - if (!(to = malloc (size))) - return NULL; + to = NULL; + else if (!(to = malloc (size))) + to = NULL; if (cygwin_conv_path (what, from, to, size) == -1) - return NULL; + { + free (to); + to = NULL; + } return to; } -- cgit v1.2.3