so today i gave it a shot again and put a debug output right before the ‘$RM “$cfgfile”’. For some reason RM is set to ‘/bin/rm’ only. no ‘-f’. i’ll try to figure out where that might come from. anyway, thx for the hint :)
> On May 8, 2016, at 8:57 PM, Christian <christianre...@gmx.net> wrote: > > thx Eric for taking a look at my patch. > > it seems to be a good idea to use ‘rm -f’ and i also think it looks like $RM > should already be set to ‘rm -f’. but i don’t get why it should fail than. > what i’ll do next is check if $RM really is set to ‘rm -f’ using a debug > print. couldn’t do it right now, just in case it might be set different for > some reason. > >> On May 6, 2016, at 7:48 AM, Eric Blake <ebl...@redhat.com> wrote: >> >> On 05/05/2016 11:22 PM, Christian wrote: >>> So i found that if you’re running ‘./configure’ on a project that depends >>> on >>> libtool, it might happen that the script will end up with the following >>> error: >>> “/bin/rm: cannot remove 'libtoolT': No such file or directory”. I did some >> >>> >>> cfgfile=${ofile}T >>> trap "$RM \"$cfgfile\"; exit 1" 1 2 15 >>> - $RM "$cfgfile" >>> + if test -e "$cfgfile" ; then >>> + $RM "$cfgfile" >>> + fi >> >> That's a TOCTTOU data race. Wouldn't it be better to just use 'rm -f'? >> In fact, isn't $RM supposed to be including -f automatically? >> >> -- >> Eric Blake eblake redhat com +1-919-301-3266 >> Libvirt virtualization library http://libvirt.org >> >