aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox2009-06-30 14:02:00 -0700
committerTony Luck2009-06-30 14:02:00 -0700
commit2be8412c6cef97b01dfaae71c04bf585d3d93a3b (patch)
treea94ce0565c64f79ce1b15536380fbeb55ed41b10
parent5a4f13fad1ab5bd08dea78fc55321e429d83cddf (diff)
[IA64] sprintf should not be used with same source & destination address
This happens to work at the moment but isn't a good idea so fix it the simple way. Resolves-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13576 Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r--arch/ia64/sn/kernel/io_common.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c
index 76645cf6ac5d..25831c47c579 100644
--- a/arch/ia64/sn/kernel/io_common.c
+++ b/arch/ia64/sn/kernel/io_common.c
@@ -435,7 +435,8 @@ void sn_generate_path(struct pci_bus *pci_bus, char *address)
bricktype = MODULE_GET_BTYPE(moduleid);
if ((bricktype == L1_BRICKTYPE_191010) ||
(bricktype == L1_BRICKTYPE_1932))
- sprintf(address, "%s^%d", address, geo_slot(geoid));
+ sprintf(address + strlen(address), "^%d",
+ geo_slot(geoid));
}
void __devinit