* The size of the array passed should was not enough to hold the entire formatted string.

This fixes ticket #2802. (Not sure why it only happend on gcc4)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27914 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Karsten Heimrich 2008-10-07 21:47:46 +00:00
parent feb171f79e
commit d6d494e7b6

View File

@ -1338,7 +1338,7 @@ format_data(int32 type, char *ptr, long size)
}
for (int32 i = 0; i < 10 && pinfo[pinfo_index].types[i] != 0; i++) {
uint32 type = pinfo[pinfo_index].types[i];
char str2[4];
char str2[6];
sprintf(str2, "%c%c%c%c ", int(type & 0xFF000000) >> 24,
int(type & 0xFF0000) >> 16, int(type & 0xFF00) >> 8, (int)type & 0xFF);
strcat(str, str2);
@ -1347,7 +1347,7 @@ format_data(int32 type, char *ptr, long size)
for (int32 i = 0; i < 3; i++) {
for (int32 j = 0; j < 5 && pinfo[pinfo_index].ctypes[i].pairs[j].type != 0; j++) {
uint32 type = pinfo[pinfo_index].ctypes[i].pairs[j].type;
char str2[4];
char str2[strlen(pinfo[pinfo_index].ctypes[i].pairs[j].name) + 8];
sprintf(str2, "(%s %c%c%c%c)", pinfo[pinfo_index].ctypes[i].pairs[j].name,
int(type & 0xFF000000) >> 24,
int(type & 0xFF0000) >> 16,