]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
libtool: quote 'cd' command in shipped relink_command
authorPavel Raiskup <praiskup@redhat.com>
Tue, 25 Apr 2017 10:35:39 +0000 (12:35 +0200)
committerPavel Raiskup <praiskup@redhat.com>
Tue, 25 Apr 2017 12:33:14 +0000 (14:33 +0200)
Per report from Eric Blake:
https://lists.gnu.org/archive/html/bug-libtool/2015-10/msg00009.html

* build-aux/ltmain.in (func_mode_link): Quote 'cd `pwd`' properly
before generating the $relink_command.  Do that for the potential
scenarios where the pwd could contain spaces or special shell
characters.

build-aux/ltmain.in

index c3058f21a5378036d95d08d31110d617c0fd4660..bbc7643330344623942b513da2c7c1b94ff96224 100644 (file)
@@ -8614,7 +8614,8 @@ EOF
            relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
          fi
        done
-       func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)"
+       func_quote eval cd "`pwd`"
+       func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)"
        relink_command=$func_quote_arg_unquoted_result
       fi
 
@@ -8860,7 +8861,8 @@ EOF
        fi
       done
       # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      func_quote eval cd "`pwd`"
+      relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
       func_quote_arg pretty,unquoted "$relink_command"
       relink_command=$func_quote_arg_unquoted_result
       if test yes = "$hardcode_automatic"; then