summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog3
-rw-r--r--src/ld.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 06b29781..a532a98e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
2008-02-01 Ulrich Drepper <[email protected]>
+ * 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.
diff --git a/src/ld.c b/src/ld.c
index a863478a..11c5cabd 100644
--- 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)
{