diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2013-08-24 12:03:06 +0530 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-08-24 11:24:53 -0700 |
commit | b0f55f2a1a295c364be012e82dbab079a2454006 (patch) | |
tree | c3afe7bf118bcbf199fe37a4c2db112d3dfa7197 /arch/arc/lib/strcmp.S | |
parent | 89b53e50bd2b75c22944d594ada36beee1b23e0f (diff) | |
download | blackbird-obmc-linux-b0f55f2a1a295c364be012e82dbab079a2454006.tar.gz blackbird-obmc-linux-b0f55f2a1a295c364be012e82dbab079a2454006.zip |
ARC: [lib] strchr breakage in Big-endian configuration
For a search buffer, 2 byte aligned, strchr() was returning pointer
outside of buffer (buf - 1)
------------->8----------------
// Input buffer (default 4 byte aigned)
char *buffer = "1AA_";
// actual search start (to mimick 2 byte alignment)
char *current_line = &(buffer[2]);
// Character to search for
char c = 'A';
char *c_pos = strchr(current_line, c);
printf("%s\n", c_pos) --> 'AA_' as oppose to 'A_'
------------->8----------------
Reported-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Debugged-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: <stable@vger.kernel.org> # [3.9 and 3.10]
Cc: Noam Camus <noamc@ezchip.com>
Signed-off-by: Joern Rennecke <joern.rennecke@embecosm.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/arc/lib/strcmp.S')
0 files changed, 0 insertions, 0 deletions