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:

How to Make a Christmas Wreath

Yesterday, I made a Christmas wreath. Here's how to make one. First, find an evergreen tree near your house. Clip off a few branches from the tree. Try to have as many leaves or needles on the branches as possible. Next, bring them home. What I usu…

via Anna Wise's Blog Posts December 6, 2025

Live with Linch

A recording from Ozy Brennan and Linch's live video

via Thing of Things December 5, 2025

Against the Teapot Hold in Contra Dancing

The teapot hold is the most dangerous common contra dancing figure, so I’ve been avoiding it. The teapot hold, sometimes called a "courtesy turn hold,” requires one dancer to connect with their hand behind their back. When I realized I could avoid put…

via Emma Azelborn August 25, 2025

more     (via openring)