<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/lstring.c, branch v5.4.9</title>
<subtitle>A mirror of https://github.com/lua/lua
</subtitle>
<id>https://git.lua4.win/lua/atom?h=v5.4.9</id>
<link rel='self' href='https://git.lua4.win/lua/atom?h=v5.4.9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/'/>
<updated>2023-12-21T16:37:51+00:00</updated>
<entry>
<title>Bug: Buffer overflow in string concatenation</title>
<updated>2023-12-21T16:37:51+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2023-12-21T16:37:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=5853c37a83ec66ccb45094f9aeac23dfdbcde671'/>
<id>urn:sha1:5853c37a83ec66ccb45094f9aeac23dfdbcde671</id>
<content type='text'>
Even if the string fits in size_t, the whole size of the TString object
can overflow when we add the header.
</content>
</entry>
<entry>
<title>Cannot use 'getshrstr' before setting 'shrlen'</title>
<updated>2023-08-25T18:55:14+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2023-08-25T18:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=07a9eab23ac073362f231ddc7215688cf221ff45'/>
<id>urn:sha1:07a9eab23ac073362f231ddc7215688cf221ff45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More disciplined use of 'getstr' and 'tsslen'</title>
<updated>2023-08-17T18:59:28+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2023-08-17T18:59:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=9b4f39ab14fb2e55345c3d23537d129dac23b091'/>
<id>urn:sha1:9b4f39ab14fb2e55345c3d23537d129dac23b091</id>
<content type='text'>
We may want to add other string variants in the future; this change
documents better where the code may need to handle those variants.
</content>
</entry>
<entry>
<title>Broadening the use of branch hints</title>
<updated>2021-02-24T14:14:44+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-02-24T14:14:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=59c88f846d1dcd901a4420651aedf27816618923'/>
<id>urn:sha1:59c88f846d1dcd901a4420651aedf27816618923</id>
<content type='text'>
More uses of macros 'likely'/'unlikely' (renamed to
'l_likely'/'l_unlikely'), both in range (extended to the
libraries) and in scope (extended to hooks, stack growth).
</content>
</entry>
<entry>
<title>Hash always use all characters in a long string</title>
<updated>2020-10-12T15:29:09+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-10-12T13:02:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=9a89fb1c9dfeda4640780111f9e9437f08cfad88'/>
<id>urn:sha1:9a89fb1c9dfeda4640780111f9e9437f08cfad88</id>
<content type='text'>
Hashes for long strings are computed only when they are used as keys
in a table, not a too common case. And, in that case, it is to easy to
force collisions changing only the characters which are not part of the
hash.
</content>
</entry>
<entry>
<title>Short strings always use all bytes in the hash</title>
<updated>2020-04-01T13:52:41+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-04-01T13:52:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=7288528a1e081d101a1bc19346a974088b6b8315'/>
<id>urn:sha1:7288528a1e081d101a1bc19346a974088b6b8315</id>
<content type='text'>
Collisions in short strings occurr just by their existence, when
internalizing them. (Collisions in long strings is caused/controlled
by the program, when adding them as keys to the same table.)
</content>
</entry>
<entry>
<title>Clearer distinction between types and tags</title>
<updated>2020-01-31T14:09:53+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-01-31T14:09:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=46c3587a6feb28e1ee4a32aabe463b0ecb9e8f5e'/>
<id>urn:sha1:46c3587a6feb28e1ee4a32aabe463b0ecb9e8f5e</id>
<content type='text'>
LUA_T* represents only types; tags (types + Variants) are represented
by LUA_V* constants.
</content>
</entry>
<entry>
<title>Details</title>
<updated>2019-06-03T14:36:42+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-06-03T14:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=2c68e66570206aa1496f9c76fcf2a1a0f550d692'/>
<id>urn:sha1:2c68e66570206aa1496f9c76fcf2a1a0f550d692</id>
<content type='text'>
Several small changes from feedback on 5.4 alhpa rc1 (warnings,
typos in the manual, and the like)
</content>
</entry>
<entry>
<title>Removed extra information from RCS keyword strings</title>
<updated>2018-08-23T17:26:12+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-08-23T17:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=f99509581ee73c1c2dbddb3398e87c098771d31f'/>
<id>urn:sha1:f99509581ee73c1c2dbddb3398e87c098771d31f</id>
<content type='text'>
Version numbers and dates (mostly wrong) from RCS keyword strings
removed from all source files; only the file name are kept.
</content>
</entry>
<entry>
<title>new macros 'likely'/'unlikely' with hints for jump predictions</title>
<updated>2018-05-30T14:25:52+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-05-30T14:25:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=34aa0c5bd7493b6e01983df28f04af46a3d99967'/>
<id>urn:sha1:34aa0c5bd7493b6e01983df28f04af46a3d99967</id>
<content type='text'>
(used only in errors for now)
</content>
</entry>
</feed>
