diff --git a/files.c b/files.c index 1f72d3f9f345ab9020b9f33fd455bde90ee91484..3cc2dfc62d039dde63d00dded8fda8b63cc3ddc8 100644 --- a/files.c +++ b/files.c @@ -534,8 +534,9 @@ char *real_dir_from_tilde (char *buf) int fd, i, status, searchctr = 1; if (buf[0] == '~') { - - if (buf[1] == '/') { + if (buf[1] == '~') + goto abort; /* Handle ~~ without segfaulting =) */ + else if (buf[1] == '/') { if (getenv("HOME") != NULL) { dirtmp = nmalloc(strlen(buf) + 2 + strlen(getenv("HOME")));