]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Minor optimization in parameter substituion loop in ld.
authorUlrich Drepper <drepper@redhat.com>
Fri, 1 Feb 2008 23:52:59 +0000 (23:52 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 1 Feb 2008 23:52:59 +0000 (23:52 +0000)
src/ChangeLog
src/ld.c

index 06b29781113f5b119424408dd3f5856a109454a0..a532a98e3f9e11f8f31aa76b1c78bf254050a020 100644 (file)
@@ -1,5 +1,8 @@
 2008-02-01  Ulrich Drepper  <drepper@redhat.com>
 
+       * ld.c (replace_args): Prevent loop over replacements if the parameter
+       is only two characters long.
+
        * ld.c: Recognize sha1 argument for --build-id parameter.
        * ldgeneric.c (create_build_id_section): Handle sha1.
        (compute_hash_sum): New function.  Broken out of compute_build_id.
index a863478a8379cd2659464e5907982a8ded4dd6ba..11c5cabd07b45238d6fa2ae01150755de534d35d 100644 (file)
--- a/src/ld.c
+++ b/src/ld.c
@@ -512,7 +512,7 @@ replace_args (int argc, char *argv[])
   const size_t nargs = sizeof (args) / sizeof (args[0]);
 
   for (int i = 1; i < argc; ++i)
-    if (argv[i][0] == '-' && islower (argv[i][1]))
+    if (argv[i][0] == '-' && islower (argv[i][1]) && argv[i][2] != '\0')
       for (size_t j = 0; j < nargs; ++j)
        if (strcmp (argv[i], args[j].from) == 0)
          {