From 04e6422c724c586266fd0fa7e11523e02346b152 Mon Sep 17 00:00:00 2001 From: Paulo Matos Date: Wed, 13 Feb 2019 15:52:03 +0100 Subject: [PATCH] Ensure copied is not overwritten by another strdup causing a leak --- racket/src/rktio/rktio_fs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/racket/src/rktio/rktio_fs.c b/racket/src/rktio/rktio_fs.c index 8fee4fc672..c0c5010611 100644 --- a/racket/src/rktio/rktio_fs.c +++ b/racket/src/rktio/rktio_fs.c @@ -915,7 +915,8 @@ int rktio_make_directory(rktio_t *rktio, const char *filename) /* Make sure path doesn't have trailing separator: */ len = strlen(filename); while (len && IS_A_SEP(filename[len - 1])) { - copied = MSC_IZE(strdup)(filename); + if (!copied) + copied = MSC_IZE(strdup)(filename); copied[--len] = 0; filename = copied; }