fix buffer allocation
svn: r1733
This commit is contained in:
parent
f1904d29c1
commit
bb7ec163ba
|
@ -592,7 +592,9 @@ char *wxMediaStreamIn::GetAString(long *n, long limit, char *target, int extra,
|
||||||
while (1) {
|
while (1) {
|
||||||
if ((size + get_amt + 1) >= alloc) {
|
if ((size + get_amt + 1) >= alloc) {
|
||||||
char *naya;
|
char *naya;
|
||||||
|
do {
|
||||||
alloc *= 2;
|
alloc *= 2;
|
||||||
|
} while (alloc <= (size + get_amt + 1));
|
||||||
naya = new WXGC_ATOMIC char[alloc];
|
naya = new WXGC_ATOMIC char[alloc];
|
||||||
memcpy(naya, s, size);
|
memcpy(naya, s, size);
|
||||||
s = naya;
|
s = naya;
|
||||||
|
@ -663,13 +665,17 @@ char *wxMediaStreamIn::GetAString(long *n, long limit, char *target, int extra,
|
||||||
return SCHEME_BYTE_STR_VAL(str);
|
return SCHEME_BYTE_STR_VAL(str);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
printf("bad 9.9 %ld %ld %s\n", orig_len, len, SCHEME_BYTE_STR_VAL(str));
|
BAD_PRINTF(("bad 9.9 %ld %ld %s\n", orig_len, len, SCHEME_BYTE_STR_VAL(str)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BAD_PRINTF(("bad 10--1\n"));
|
||||||
}
|
}
|
||||||
|
BAD_PRINTF(("bad 10-0\n"));
|
||||||
}
|
}
|
||||||
|
BAD_PRINTF(("bad 10-1\n"));
|
||||||
}
|
}
|
||||||
|
BAD_PRINTF(("bad 10-2\n"));
|
||||||
} else if (!recur && (buf[0] == '(')) {
|
} else if (!recur && (buf[0] == '(')) {
|
||||||
/* Read a sequence of strings */
|
/* Read a sequence of strings */
|
||||||
Scheme_Object *accum = scheme_null;
|
Scheme_Object *accum = scheme_null;
|
||||||
|
@ -749,6 +755,9 @@ char *wxMediaStreamIn::GetAString(long *n, long limit, char *target, int extra,
|
||||||
|
|
||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
BAD_PRINTF(("bad 10-3\n"));
|
||||||
|
} else {
|
||||||
|
BAD_PRINTF(("bad 10-4 %d\n", buf[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
bad = 1;
|
bad = 1;
|
||||||
|
@ -997,7 +1006,7 @@ wxMediaStreamIn* wxMediaStreamIn::Get(long *v)
|
||||||
signed char bv;
|
signed char bv;
|
||||||
if (f->Read((char *)&bv, 1) != 1) {
|
if (f->Read((char *)&bv, 1) != 1) {
|
||||||
bad = 1;
|
bad = 1;
|
||||||
printf("25\n");
|
BAD_PRINTF(("25\n"));
|
||||||
*v = 0;
|
*v = 0;
|
||||||
} else
|
} else
|
||||||
*v = bv;
|
*v = bv;
|
||||||
|
@ -1013,7 +1022,7 @@ wxMediaStreamIn* wxMediaStreamIn::Get(long *v)
|
||||||
unsigned char bl[4];
|
unsigned char bl[4];
|
||||||
if (f->Read((char *)bl, 4) != 4) {
|
if (f->Read((char *)bl, 4) != 4) {
|
||||||
bad = 1;
|
bad = 1;
|
||||||
printf("27\n");
|
BAD_PRINTF(("27\n"));
|
||||||
*v = 0;
|
*v = 0;
|
||||||
} else
|
} else
|
||||||
*v = (((long)((signed char *)bl)[0]) << 24)
|
*v = (((long)((signed char *)bl)[0]) << 24)
|
||||||
|
@ -1024,7 +1033,7 @@ wxMediaStreamIn* wxMediaStreamIn::Get(long *v)
|
||||||
unsigned char b2;
|
unsigned char b2;
|
||||||
if (f->Read((char *)&b2, sizeof(char)) != sizeof(char)) {
|
if (f->Read((char *)&b2, sizeof(char)) != sizeof(char)) {
|
||||||
bad = 1;
|
bad = 1;
|
||||||
printf("28\n");
|
BAD_PRINTF(("28\n"));
|
||||||
*v = 0;
|
*v = 0;
|
||||||
} else
|
} else
|
||||||
*v = (((int)(b & 0x3F)) << 8) | b2;
|
*v = (((int)(b & 0x3F)) << 8) | b2;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user