Profile

Cover photo
Yann Collet
Works at Orange
Attended L'Ecole Nationale Supérieure de Télécommunications de Bretagne
47 followers|157,190 views
AboutPostsPhotosVideos+1's

Stream

Yann Collet

Shared publicly  - 
 
Pointer overflow vs RCE : an analysis of LZ4 literal copy attack
 Last week, when a blog announced to the wild that it was possible to overflow a pointer within LZ4, I immediately produced a fix within the next few hours to protect users, without checking how the code would naturally behave in such circumstance. After al...
1
Add a comment...

Yann Collet

Shared publicly  - 
 
Summarizing LZ4 vulnerability assessment
I've received an answer from Don Bailey. He blames the situation on a lack of communication. OK. In an attempt to bring the discussion to a more neutral level, this post is dedicated at providing a hopefully clear, concise an...
3
Add a comment...

Yann Collet

Shared publicly  - 
 
Debunking the LZ4 "20 years old bug" myth
 A recent post  on a security blog has claimed that LZ4 is affected by a subtle bug which could result in remote code execution on basically any machine using LZ4 algorithm. Given that LZ4 is installed on basically every modern Linux distro, including criti...
 A recent post on a security blog has claimed that LZ4 is affected by a subtle bug which could result in remote code execution on basically any machine using LZ4 algorithm. Given that LZ4 is installed on basically every moder...
2
Add a comment...

Yann Collet

Shared publicly  - 
 
 For quite some time, the LZ4 Streaming API project has been started and delayed, as other priorities stepped in the way. To be fair, one important delaying factor was the difficulty to define a "clean enough" API, something ...
1
Add a comment...

Yann Collet

Shared publicly  - 
 
 When starting investigation on ANS properties, in November 2013, I stumbled upon the fact that positions in the table are not equivalent. Basically, the low states are more "worthy" than higher states. Back then, it wasn't p...
1
Add a comment...

Yann Collet

Shared publicly  - 
 
 Today's objective is to use the lessons learned when defining the perfect normalization algorithm to design a new, better, fast normalization algorithm. As stated last time, perfect normalization works fine, it's just a bit ...
1
Add a comment...
Have him in circles
47 people
Stephane Guyard's profile photo
Daniel Berio's profile photo
Stéphane Cocquereaumont's profile photo

Yann Collet

Shared publicly  - 
 
Software vulnerabilities - how it works
 In the lifetime of LZ4, I've received tons of feedback, some of them being requests, some of them being simple thanks, others being bug disclosure, sometimes proposed alongside a bugfix solution. This is what makes open source unique : through experimentat...
1
Yann Collet's profile photoTakayuki Matsuoka's profile photo
2 comments
 
alloca() is typically not advised.
I think it's about as bad as goto, which means I consider it usable by good programmers.
However, if i do not use alloca(), it's because of potential portability issues, in contrast with goto.
Add a comment...

Yann Collet

Shared publicly  - 
 
Let's move on
I've received an answer from Don Bailey from this story. He blames the situation on a lack of communication. In an attempt to bring the discussion to a more neutral level, this post is dedicated at providing a hopefully clear, concise and factual descriptio...
I've received an answer from Don Bailey from this story. He blames the situation on a lack of communication. In an attempt to bring the discussion to a more neutral level, this post is dedicated at providing a hopefully clear...
1
Add a comment...

Yann Collet

Shared publicly  - 
 
 
My new LudumDare entry "Princess Kingdom", play it now!
1
Add a comment...

Yann Collet

Shared publicly  - 
 
Streaming API for LZ4
 For quite some time, the LZ4 Streaming API project has been started and delayed, as other priorities stepped in the way. To be fair, one important delaying factor was the difficulty to define a "clean enough" API, something that would be simple to use and ...
 For quite some time, the LZ4 Streaming API project has been started and delayed, as other priorities stepped in the way. To be fair, one important delaying factor was the difficulty to define a "clean enough" API, something ...
1
Add a comment...

Yann Collet

Shared publicly  - 
 
Taking advantage of unequalities to provide better compression
 When starting investigation on ANS properties, in November 2013, I stumbled upon the fact that  positions in the table are not equivalent . Basically, the low states are more "worthy" than higher states. Back then, it wasn't properly explained nor forecast...
 When starting investigation on ANS properties, in November 2013, I stumbled upon the fact that positions in the table are not equivalent. Basically, the low states are more "worthy" than higher states. Back then, it wasn't p...
1
Add a comment...

Yann Collet

Shared publicly  - 
 
Ultra-fast normalization
 Today's objective is to use the lessons learned when defining the perfect normalization algorithm to design a new, better, fast normalization algorithm. As stated last time, perfect normalization works fine, it's just a bit too slow to be used within FSE ....
 Today's objective is to use the lessons learned when defining the perfect normalization algorithm to design a new, better, fast normalization algorithm. As stated last time, perfect normalization works fine, it's just a bit ...
1
Add a comment...
People
Have him in circles
47 people
Stephane Guyard's profile photo
Daniel Berio's profile photo
Stéphane Cocquereaumont's profile photo
Education
  • L'Ecole Nationale Supérieure de Télécommunications de Bretagne
    Télécommunications, 1993 - 1996
Links
Work
Employment
  • Orange
    Marketing M2M, 2009 - present
Basic Information
Gender
Male
Yann Collet's +1's are the things they like, agree with, or want to recommend.
Let's move on
fastcompression.blogspot.com

I've received an answer from Don Bailey. He blames the situation on a lack of communication. OK. In an attempt to bring the discussion to a

Streaming API for LZ4
fastcompression.blogspot.com

For quite some time, the LZ4 Streaming API project has been started and delayed, as other priorities stepped in the way. To be fair, one imp

Taking advantage of unequalities to provide better compression
fastcompression.blogspot.com

When starting investigation on ANS properties, in November 2013, I stumbled upon the fact that positions in the table are not equivalent. Ba

Ultra-fast normalization
fastcompression.blogspot.com

Today's objective is to use the lessons learned when defining the perfect normalization algorithm to design a new, better, fast normalizatio

Perfect Normalization
fastcompression.blogspot.com

People keeping an eye on the github repository of FSE may have noticed the apparition a new function, called FSE_normalizeCountHC(). Let's d

Better normalization, for better compression
fastcompression.blogspot.com

A secondary issue to deal with when implementing an FSE entropy coder is the requirement to normalize statistics. Basically, it consists in

FSE tricks - Memory efficient subrange maps
fastcompression.blogspot.com

With last blog post, we were left with a description of the FSE compression algorithm. However, the code associated was a bit cryptic. So le

FSE encoding : how it works
fastcompression.blogspot.com

Quite unusually, we have started this serie on FSE by focusing on the decompression part. It may seem strange to try to decode a data we hav

FSE decoding : wrap up
fastcompression.blogspot.com

With all the previous articles written on FSE, it seems we now have all elements to build a complete FSE decoder. Let's wrap up all this lea

FSE : distributing symbol values
fastcompression.blogspot.com

Note : Charles Bloom develops around the same issue on his blog : Understanding ANS - 8. Following the last article on defining optimal sub-

FSE : Defining optimal subranges
fastcompression.blogspot.com

Note : Charles Bloom started an independent in-depth analysis of ANS on his blog, which is definitely worth the read. As stated in earlier F

A comparison of Arithmetic Encoding with FSE
fastcompression.blogspot.com

Arithmetic encoding was invented in the 70's by Jorma Rissanen. After a few decades during which the technique almost stagnated, partly as a

Huffman, a comparison with FSE
fastcompression.blogspot.com

In this serie explaining the behavior of Finite State Entropy, I find it interesting to make a quick comparison with Huffman entropy. It's a

FSE decoding : how it works
fastcompression.blogspot.com

After announcing the release of FSE and its results, it's time to have a look at its internals. We'll spend some time first on the decoding

Finite State Entropy - A new breed of entropy coder
fastcompression.blogspot.com

In compression theory, the entropy encoding stage is typically the last stage of a compression algorithm, the one where the gains from the m

Brutal Deluxe Releases Multi-Purpose LZ4 Compression Algorithm - Google ...
groups.google.com

Brutal Deluxe Releases Multi-Purpose LZ4 Compression Algorithm, Antoine Vignau, 12/10/13 4:39 AM. Dear All, This technical article discusses

Stream Decoding (part 2)
fastcompression.blogspot.com

I've been considering a complementary idea since writing the first part of LZ4 streaming interface. A major point which bothered me was the

Towards a Streaming Interface for LZ4
fastcompression.blogspot.com

After settling a Streaming Format for LZ4, it seems about time to define a proper API for it. LZ4 is quite stable in "block mode" scenarios.

Inter-block compression
fastcompression.blogspot.com

One of the new capabilities defined into the LZ4 Streaming format is inter-block compression. While the concept is simple to formulate (the

Part 3 : Inlining big functions
fastcompression.blogspot.com

After the success of converting LZ4_decompress() to inline function, I was curious to repeat the performance on LZ4_compress(). The attempt