Skip to content
Snippets Groups Projects
Commit e3d1ac7b authored by Scott Wood's avatar Scott Wood Committed by Wolfgang Denk
Browse files

common/image.c: Relocate strings in tables.


Without this, u-boot can crash or print garbage if the original link
address no longer points to a valid string.

Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
parent 3a671fc0
No related branches found
No related tags found
No related merge requests found
...@@ -518,7 +518,11 @@ static char *get_table_entry_name (table_entry_t *table, char *msg, int id) ...@@ -518,7 +518,11 @@ static char *get_table_entry_name (table_entry_t *table, char *msg, int id)
{ {
for (; table->id >= 0; ++table) { for (; table->id >= 0; ++table) {
if (table->id == id) if (table->id == id)
return (table->lname); #ifdef USE_HOSTCC
return table->lname;
#else
return table->lname + gd->reloc_off;
#endif
} }
return (msg); return (msg);
} }
...@@ -579,7 +583,7 @@ static int get_table_entry_id (table_entry_t *table, ...@@ -579,7 +583,7 @@ static int get_table_entry_id (table_entry_t *table,
fprintf (stderr, "\n"); fprintf (stderr, "\n");
#else #else
for (t = table; t->id >= 0; ++t) { for (t = table; t->id >= 0; ++t) {
if (t->sname && strcmp(t->sname, name) == 0) if (t->sname && strcmp(t->sname + gd->reloc_off, name) == 0)
return (t->id); return (t->id);
} }
debug ("Invalid %s Type: %s\n", table_name, name); debug ("Invalid %s Type: %s\n", table_name, name);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment