I decided to actually read man ld.so and came across this:<p><pre><code> --ignore-rpath LIST
Ignore RPATH and RUNPATH information in object names in LIST.
This option has been supported by glibc2 for about one hour.
Then it was renamed into:
--inhibit-rpath LIST
</code></pre>
I'm not sure if it's a joke or an incredible testament to backwards compatibility.<p>I've been writing a COFF linker recently, and have been reading lots of comments and man pages about linkers and loaders. The more i read, i think dynamic linking isn't such a good idea after all.
They must've expected usernames to not contain anything other than alphanumeric characters... this is yet another example of the fact that if you write code that consumes external, untrusted input, always expect every single byte value from 0 to 0xFF could be present, and deal with them accordingly.