Files
rtems/testsuites/sptests/sp13/fillbuff.c
Joel Sherrill a841314365 2004-03-30 David Querbach <querbach@realtime.bc.ca>
PR 595/tests
	* sp13/fillbuff.c, sp13/init.c, sp13/putbuff.c, sp13/system.h,
	sp13/task1.c, sp13/task2.c: Fill_buffer() in fillbuff.c overruns the
	supplied buffer due to confusion in the definition of MESSAGE_SIZE.
	Some files in the sp13 test treat MESSAGE_SIZE as a count of bytes,
	others treat it as a count of longs.
2004-03-30 19:46:38 +00:00

40 lines
811 B
C

/* Fill_buffer
*
* This test routine copies a given source string to a given destination
* buffer.
*
* Input parameters:
* source - pointer to string to be copied
* buffer - pointer to message buffer to be filled
*
* Output parameters: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
void Fill_buffer(
char *source,
long *buffer
)
{
char *p;
int i, j;
p = source;
for ( i = 0 ; i < MESSAGE_SIZE / sizeof(long) ; i++ ) {
buffer[i] = 0;
for ( j = sizeof(long) - 1; j >= 0; j-- ) {
buffer[i] |= *p++ << (8 * j);
}
}
}