fix(wechat_qrcode): fixed memory leaks
authorNano <nanoapezlk@gmail.com>
Thu, 27 Apr 2023 09:38:35 +0000 (17:38 +0800)
committerBenjamin Drung <bdrung@debian.org>
Thu, 29 Feb 2024 03:07:04 +0000 (03:07 +0000)
Gbp-Pq: Name 0010-fix-wechat_qrcode-fixed-memory-leaks.patch

contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp

index b3a0a69cfd47527ab848ea697c5846355ea45bfe..f02435d568dab442c68b1cdd4dffdda4aef44803 100644 (file)
@@ -127,7 +127,10 @@ void DecodedBitStreamParser::decodeHanziSegment(Ref<BitSource> bits_, string& re
     while (count > 0) {
         // Each 13 bits encodes a 2-byte character
         int twoBytes = bits.readBits(13, err_handler);
-        if (err_handler.ErrCode()) return;
+        if (err_handler.ErrCode()) {
+            delete[] buffer;
+            return;
+        }
         int assembledTwoBytes = ((twoBytes / 0x060) << 8) | (twoBytes % 0x060);
         if (assembledTwoBytes < 0x003BF) {
             // In the 0xA1A1 to 0xAAFE range