D20939: Aztec: Fix padding if the last partial codeword is all one bits

Volker Krause noreply at phabricator.kde.org
Wed May 1 16:15:29 BST 2019


vkrause created this revision.
Herald added a project: Frameworks.
Herald added a subscriber: kde-frameworks-devel.
vkrause requested review of this revision.

REVISION SUMMARY
  Wikipedia says "after bit stuffing, the data string is padded to the next
  codeword boundary by appending 1 bits. If this would result in a code word
  of all ones, the last bit is changed to zero", we were missing the second
  part here.
  
  While this difference wouldn't confuse the decoder normally, it is also
  fed into the Reed-Solomon encoder, and thus spread out and multiplied,
  resulting in a non-decodeable image.
  
  This is sufficiently unlikely (needs a content ending with a binary
  content with enough bits set, and unfortunate alignment of the bit
  stream), which is why this went unnoticed for quite a while.

REPOSITORY
  R280 Prison

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D20939

AFFECTED FILES
  autotests/aztecbarcodetest.cpp
  src/lib/aztecbarcode.cpp

To: vkrause
Cc: kde-frameworks-devel, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20190501/88f82d86/attachment.html>


More information about the Kde-frameworks-devel mailing list