fix_path.c

October 9th, 2008
fix_path, programming, shell, tech
I did end up writing a C program to do the path fixing; it makes a big difference when the system is under load.

fix path in c

Then I have to change my bashrc a little bit from before:

PS1="${PS1}$(fix_path)"
And now it's all spiffy fast.

UPDATE 2009-07-20: The line above actually has an untrusted code excecution vulnerability. If the user can be tricked into navigating to a directory with something like $(foo) or `foo` in the name, then the foo program will be excecuted. This is quite bad. The problem is that the shell evaluates the PS1 variable before display. So we need to change that line to:

PS1="${PS1}\$(fix_path)"
And we postpone evaluation to when the prompt is displayed, instead of evaluating it both when PS1 is set and then again when it is displayed.

Referenced in: Reverse resolution of environment variables II

Comment via: facebook, substack

Recent posts on blogs I like:

Linkpost for July

Effective Altruism

via Thing of Things July 3, 2026

Agentic test processes, LLM benchmarks, and other notes on agentic coding from Galapagos Island

I've been using AI fairly heavily since last November and the whole thing is a funny experience. An agent will do something that, if a human did it, you'd immediately fire them. My reaction, of course, is to act as if this is great and spin up a t…

via Posts on July 3, 2026

Variable fonts aren't universally supported

I make a lot of webpages. I also use Lockdown Mode on iOS and MacOS for a bit of extra security. Sometimes I realize that I forgot to test on Safari and it looks like crap, or I test and don’t notice that there’s been a problem for months (as was the case…

via Home June 27, 2026

more     (via openring)