Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

Storable u64: support string length >2GB, array len and evtl hash length #121

Closed
rurban opened this issue Mar 30, 2016 · 1 comment
Closed
Assignees
Milestone

Comments

@rurban
Copy link
Member

rurban commented Mar 30, 2016

hash keys are upstream at STRLEN length, but hash iterators to I32.
array keys are limited upstream to SSize_t (31/63bit).

in storable they are limited for string lengths, array and hash keys to I32 (31bit).
see branch https://github.com/perl11/cperl/commits/bugfix/gh121-storable-u64

add a new mark: LOBJECT (large object), followed by the mark of the following object: LSTRING, LUTF8STR, ARRAY, FLAGS_HASH or HASH, a u64 length and the data for the object.

this can also be used by 32bit systems, for the I32-U32 range.

@rurban rurban self-assigned this Mar 30, 2016
@rurban rurban added the bug label Mar 30, 2016
@rurban rurban added this to the v5.22.2 milestone Mar 31, 2016
@rurban rurban closed this as completed Apr 5, 2016
@rurban
Copy link
Member Author

rurban commented Apr 18, 2016

For p5p:

The fix is in https://github.com/perl11/cperl/commits/master

67a5186

more previous (also security) Storable fixes are in:

fe00be0
04b58ce
44500c5

The underlying 2g-4g perl core security problems are then
fixed in 5484e6b I32 => SSize_t API change, 64bit >2G lengths and sizes
(5.25 only)

rurban added a commit that referenced this issue Feb 15, 2019
Silence Gconvert -Wunused-result.

Add unblessed_bool property (PR #118 by Pali)

Add seperate allow_dupkeys property, in relaxed (#122),
Fixed allow_dupkeys for the XS slow path,
Silence 2 -Wunused-value warnings,
Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali).
rurban added a commit that referenced this issue Feb 15, 2019
Silence Gconvert -Wunused-result.

Add unblessed_bool property (PR #118 by Pali)

Add seperate allow_dupkeys property, in relaxed (#122),
Fixed allow_dupkeys for the XS slow path,
Silence 2 -Wunused-value warnings,
Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali).
rurban added a commit that referenced this issue Feb 17, 2019
Silence Gconvert -Wunused-result.

Add unblessed_bool property (PR #118 by Pali)

Add seperate allow_dupkeys property, in relaxed (#122),
Fixed allow_dupkeys for the XS slow path,
Silence 2 -Wunused-value warnings,
Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali).
rurban added a commit that referenced this issue Feb 28, 2019
Silence Gconvert -Wunused-result.

Add unblessed_bool property (PR #118 by Pali)

Add seperate allow_dupkeys property, in relaxed (#122),
Fixed allow_dupkeys for the XS slow path,
Silence 2 -Wunused-value warnings,
Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali).
rurban added a commit that referenced this issue Mar 1, 2019
Silence Gconvert -Wunused-result.

Add unblessed_bool property (PR #118 by Pali)

Add seperate allow_dupkeys property, in relaxed (#122),
Fixed allow_dupkeys for the XS slow path,
Silence 2 -Wunused-value warnings,
Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali).
rurban added a commit that referenced this issue Mar 1, 2019
Silence Gconvert -Wunused-result.

Add unblessed_bool property (PR #118 by Pali)

Add seperate allow_dupkeys property, in relaxed (#122),
Fixed allow_dupkeys for the XS slow path,
Silence 2 -Wunused-value warnings,
Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali).
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant