mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-19 04:52:59 +01:00
do not check the string longer than 10.
This commit is contained in:
parent
e92e99c4d1
commit
580fbe77e9
@ -131,9 +131,10 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) {
|
|||||||
if (SvPOKp(val)) {
|
if (SvPOKp(val)) {
|
||||||
STRLEN len;
|
STRLEN len;
|
||||||
char * cval = SvPV(val, len);
|
char * cval = SvPV(val, len);
|
||||||
|
const int U32_STRLEN = 10; /* length(0xFFFFFFFF) */
|
||||||
|
|
||||||
SV* pref_int = get_sv("Data::MessagePack::PreferInteger", 0);
|
SV* pref_int = get_sv("Data::MessagePack::PreferInteger", 0);
|
||||||
if (pref_int && SvTRUE(pref_int) && looks_like_int(cval, len) && SvUV(val) < U32_MAX) {
|
if (pref_int && SvTRUE(pref_int) && len <= U32_STRLEN && looks_like_int(cval, len) && SvUV(val) < U32_MAX) {
|
||||||
PACK_WRAPPER(uint32)(enc, SvUV(val));
|
PACK_WRAPPER(uint32)(enc, SvUV(val));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user