diff --git a/src/files.c b/src/files.c
index f34c98be7f3e39f4436a85915cd84cf88043ea5c..e4f8f2d0c6a8eb9239c539eabb299205fd4afdb5 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1472,8 +1472,7 @@ void init_operating_dir(void)
 		die(_("Invalid operating directory: %s\n"), operating_dir);
 
 	free(operating_dir);
-	operating_dir = target;
-	snuggly_fit(&operating_dir);
+	operating_dir = charealloc(target, strlen(target) + 1);
 }
 
 /* Check whether the given path is outside of the operating directory.
@@ -1540,8 +1539,7 @@ void init_backup_dir(void)
 		die(_("Invalid backup directory: %s\n"), backup_dir);
 
 	free(backup_dir);
-	backup_dir = target;
-	snuggly_fit(&backup_dir);
+	backup_dir = charealloc(target, strlen(target) + 1);
 }
 #endif /* !NANO_TINY */
 
diff --git a/src/proto.h b/src/proto.h
index 7fdecb541ecb2c7783b7ec0e8fc3ca25d1d96ff3..623b81f7a58fffd8b979d22bdcdf48963af0b848 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -557,7 +557,6 @@ int digits(ssize_t n);
 #endif
 bool parse_num(const char *str, ssize_t *val);
 bool parse_line_column(const char *str, ssize_t *line, ssize_t *column);
-void snuggly_fit(char **str);
 void null_at(char **data, size_t index);
 void unsunder(char *str, size_t true_len);
 void sunder(char *str);
diff --git a/src/utils.c b/src/utils.c
index 406c6aa1d44d2c8859bdb0db531f2b9ee39098fd..07422ffaa82c46a0466977d8b8fba40eb35812c0 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -159,12 +159,6 @@ bool parse_line_column(const char *str, ssize_t *line, ssize_t *column)
 	return retval;
 }
 
-/* Reduce the memory allocation of a string to what is needed. */
-void snuggly_fit(char **string)
-{
-	*string = charealloc(*string, strlen(*string) + 1);
-}
-
 /* Null a string at a certain index and align it. */
 void null_at(char **data, size_t index)
 {