@@ -241,17 +241,17 @@ func decodeMetaBlockLength(s *Reader, br *bitReader) int {
241241 case stateMetablockHeaderSize :
242242 i = s .loop_counter
243243
244- for ; i < int (s .size_nibbles ); i ++ {
244+ for ; i < int (s .size_nibbles ); i ++ { //nolint:gosec
245245 if ! safeReadBits (br , 4 , & bits ) {
246246 s .loop_counter = i
247247 return decoderNeedsMoreInput
248248 }
249249
250- if uint (i + 1 ) == s .size_nibbles && s .size_nibbles > 4 && bits == 0 {
250+ if uint (i + 1 ) == s .size_nibbles && s .size_nibbles > 4 && bits == 0 { //nolint:gosec
251251 return decoderErrorFormatExuberantNibble
252252 }
253253
254- s .meta_block_remaining_len |= int (bits << uint (i * 4 ))
254+ s .meta_block_remaining_len |= int (bits << uint (i * 4 )) //nolint:gosec
255255 }
256256
257257 s .substate_metablock_header = stateMetablockHeaderUncompressed
@@ -306,17 +306,17 @@ func decodeMetaBlockLength(s *Reader, br *bitReader) int {
306306 case stateMetablockHeaderMetadata :
307307 i = s .loop_counter
308308
309- for ; i < int (s .size_nibbles ); i ++ {
309+ for ; i < int (s .size_nibbles ); i ++ { //nolint:gosec
310310 if ! safeReadBits (br , 8 , & bits ) {
311311 s .loop_counter = i
312312 return decoderNeedsMoreInput
313313 }
314314
315- if uint (i + 1 ) == s .size_nibbles && s .size_nibbles > 1 && bits == 0 {
315+ if uint (i + 1 ) == s .size_nibbles && s .size_nibbles > 1 && bits == 0 { //nolint:gosec
316316 return decoderErrorFormatExuberantMetaNibble
317317 }
318318
319- s .meta_block_remaining_len |= int (bits << uint (i * 8 ))
319+ s .meta_block_remaining_len |= int (bits << uint (i * 8 )) //nolint:gosec
320320 }
321321
322322 s .meta_block_remaining_len ++
@@ -374,7 +374,7 @@ func safeDecodeSymbol(table []huffmanCode, br *bitReader, result *uint32) bool {
374374 return false /* No valid bits at all. */
375375 }
376376
377- val = uint32 (getBitsUnmasked (br ))
377+ val = uint32 (getBitsUnmasked (br )) //nolint:gosec
378378 table = table [val & huffmanTableMask :]
379379 if table [0 ].bits <= huffmanTableBits {
380380 if uint32 (table [0 ].bits ) <= available_bits {
@@ -484,7 +484,7 @@ func readSimpleHuffmanSymbols(alphabet_size uint32, max_symbol uint32, s *Reader
484484 return decoderErrorFormatSimpleHuffmanAlphabet
485485 }
486486
487- s .symbols_lists_array [i ] = uint16 (v )
487+ s .symbols_lists_array [i ] = uint16 (v ) //nolint:gosec
488488 i ++
489489 }
490490
@@ -512,7 +512,7 @@ Process single decoded symbol code length:
512512func processSingleCodeLength (code_len uint32 , symbol * uint32 , repeat * uint32 , space * uint32 , prev_code_len * uint32 , symbol_lists symbolList , code_length_histo []uint16 , next_symbol []int ) {
513513 * repeat = 0
514514 if code_len != 0 { /* code_len == 1..15 */
515- symbolListPut (symbol_lists , next_symbol [code_len ], uint16 (* symbol ))
515+ symbolListPut (symbol_lists , next_symbol [code_len ], uint16 (* symbol )) //nolint:gosec
516516 next_symbol [code_len ] = int (* symbol )
517517 * prev_code_len = code_len
518518 * space -= 32768 >> code_len
@@ -567,17 +567,17 @@ func processRepeatedCodeLength(code_len uint32, repeat_delta uint32, alphabet_si
567567 var last uint = uint (* symbol + repeat_delta )
568568 var next int = next_symbol [* repeat_code_len ]
569569 for {
570- symbolListPut (symbol_lists , next , uint16 (* symbol ))
570+ symbolListPut (symbol_lists , next , uint16 (* symbol )) //nolint:gosec
571571 next = int (* symbol )
572572 (* symbol )++
573- if (* symbol ) == uint32 (last ) {
573+ if (* symbol ) == uint32 (last ) { //nolint:gosec
574574 break
575575 }
576576 }
577577
578578 next_symbol [* repeat_code_len ] = next
579579 * space -= repeat_delta << (15 - * repeat_code_len )
580- code_length_histo [* repeat_code_len ] = uint16 (uint32 (code_length_histo [* repeat_code_len ]) + repeat_delta )
580+ code_length_histo [* repeat_code_len ] = uint16 (uint32 (code_length_histo [* repeat_code_len ]) + repeat_delta ) //nolint:gosec
581581 } else {
582582 * symbol += repeat_delta
583583 }
@@ -623,7 +623,7 @@ func readSymbolCodeLengths(alphabet_size uint32, s *Reader) int {
623623 } else {
624624 extra_bits = 3
625625 }
626- var repeat_delta uint32 = uint32 (getBitsUnmasked (br )) & bitMask (extra_bits )
626+ var repeat_delta uint32 = uint32 (getBitsUnmasked (br )) & bitMask (extra_bits ) //nolint:gosec
627627 dropBits (br , extra_bits )
628628 processRepeatedCodeLength (code_len , repeat_delta , alphabet_size , & symbol , & repeat , & space , & prev_code_len , & repeat_code_len , symbol_lists , code_length_histo , next_symbol )
629629 }
@@ -648,7 +648,7 @@ func safeReadSymbolCodeLengths(alphabet_size uint32, s *Reader) int {
648648 get_byte = false
649649 available_bits = getAvailableBits (br )
650650 if available_bits != 0 {
651- bits = uint32 (getBitsUnmasked (br ))
651+ bits = uint32 (getBitsUnmasked (br )) //nolint:gosec
652652 }
653653
654654 p = p [bits & bitMask (huffmanMaxCodeLengthCodeLength ):]
@@ -694,7 +694,7 @@ func readCodeLengthCodeLengths(s *Reader) int {
694694 if ! safeGetBits (br , 4 , & ix ) {
695695 var available_bits uint32 = getAvailableBits (br )
696696 if available_bits != 0 {
697- ix = uint32 (getBitsUnmasked (br ) & 0xF )
697+ ix = uint32 (getBitsUnmasked (br ) & 0xF ) //nolint:gosec
698698 } else {
699699 ix = 0
700700 }
@@ -938,7 +938,7 @@ func inverseMoveToFrontTransform(v []byte, v_len uint32, state *Reader) {
938938 var mtf_1 byte
939939
940940 /* Transform the input. */
941- for i = 0 ; uint32 (i ) < v_len ; i ++ {
941+ for i = 0 ; uint32 (i ) < v_len ; i ++ { //nolint:gosec
942942 var index int = int (v [i ])
943943 var value byte = mtf [index ]
944944 v [i ] = value
@@ -1181,7 +1181,7 @@ func detectTrivialLiteralBlockTypes(s *Reader) {
11811181 for i = 0 ; i < 8 ; i ++ {
11821182 s .trivial_literal_contexts [i ] = 0
11831183 }
1184- for i = 0 ; uint32 (i ) < s .num_block_types [0 ]; i ++ {
1184+ for i = 0 ; uint32 (i ) < s .num_block_types [0 ]; i ++ { //nolint:gosec
11851185 var offset uint = i << literalContextBits
11861186 var error uint = 0
11871187 var sample uint = uint (s .context_map [offset ])
@@ -1207,7 +1207,7 @@ func prepareLiteralDecoding(s *Reader) {
12071207 var context_offset uint32 = block_type << literalContextBits
12081208 s .context_map_slice = s .context_map [context_offset :]
12091209 trivial = uint (s .trivial_literal_contexts [block_type >> 5 ])
1210- s .trivial_literal_context = int ((trivial >> (block_type & 31 )) & 1 )
1210+ s .trivial_literal_context = int ((trivial >> (block_type & 31 )) & 1 ) //nolint:gosec
12111211 s .literal_htree = []huffmanCode (s .literal_hgroup .htrees [s .context_map_slice [0 ]])
12121212 context_mode = s .context_modes [block_type ] & 3
12131213 s .context_lookup = getContextLUT (int (context_mode ))
@@ -1283,11 +1283,11 @@ func safeDecodeDistanceBlockSwitch(s *Reader) bool {
12831283func unwrittenBytes (s * Reader , wrap bool ) uint {
12841284 var pos uint
12851285 if wrap && s .pos > s .ringbuffer_size {
1286- pos = uint (s .ringbuffer_size )
1286+ pos = uint (s .ringbuffer_size ) //nolint:gosec
12871287 } else {
1288- pos = uint (s .pos )
1288+ pos = uint (s .pos ) //nolint:gosec
12891289 }
1290- var partial_pos_rb uint = (s .rb_roundtrips * uint (s .ringbuffer_size )) + pos
1290+ var partial_pos_rb uint = (s .rb_roundtrips * uint (s .ringbuffer_size )) + pos //nolint:gosec
12911291 return partial_pos_rb - s .partial_pos_out
12921292}
12931293
@@ -1298,7 +1298,7 @@ Dumps output.
12981298 and either ring-buffer is as big as window size, or |force| is true.
12991299*/
13001300func writeRingBuffer (s * Reader , available_out * uint , next_out * []byte , total_out * uint , force bool ) int {
1301- start := s .ringbuffer [s .partial_pos_out & uint (s .ringbuffer_mask ):]
1301+ start := s .ringbuffer [s .partial_pos_out & uint (s .ringbuffer_mask ):] //nolint:gosec
13021302 var to_write uint = unwrittenBytes (s , true )
13031303 var num_written uint = * available_out
13041304 if num_written > to_write {
@@ -1336,7 +1336,7 @@ func writeRingBuffer(s *Reader, available_out *uint, next_out *[]byte, total_out
13361336 if s .ringbuffer_size == 1 << s .window_bits && s .pos >= s .ringbuffer_size {
13371337 s .pos -= s .ringbuffer_size
13381338 s .rb_roundtrips ++
1339- if uint (s .pos ) != 0 {
1339+ if uint (s .pos ) != 0 { //nolint:gosec
13401340 s .should_wrap_ringbuffer = 1
13411341 } else {
13421342 s .should_wrap_ringbuffer = 0
@@ -1348,7 +1348,7 @@ func writeRingBuffer(s *Reader, available_out *uint, next_out *[]byte, total_out
13481348
13491349func wrapRingBuffer (s * Reader ) {
13501350 if s .should_wrap_ringbuffer != 0 {
1351- copy (s .ringbuffer , s .ringbuffer_end [:uint (s .pos )])
1351+ copy (s .ringbuffer , s .ringbuffer_end [:uint (s .pos )]) //nolint:gosec
13521352 s .should_wrap_ringbuffer = 0
13531353 }
13541354}
@@ -1377,7 +1377,7 @@ func ensureRingBuffer(s *Reader) bool {
13771377 s .ringbuffer [s .new_ringbuffer_size - 1 ] = 0
13781378
13791379 if old_ringbuffer != nil {
1380- copy (s .ringbuffer , old_ringbuffer [:uint (s .pos )])
1380+ copy (s .ringbuffer , old_ringbuffer [:uint (s .pos )]) //nolint:gosec
13811381 }
13821382
13831383 s .ringbuffer_size = s .new_ringbuffer_size
@@ -1398,7 +1398,7 @@ func copyUncompressedBlockToOutput(available_out *uint, next_out *[]byte, total_
13981398 switch s .substate_uncompressed {
13991399 case stateUncompressedNone :
14001400 {
1401- var nbytes int = int (getRemainingBytes (& s .br ))
1401+ var nbytes int = int (getRemainingBytes (& s .br )) //nolint:gosec
14021402 if nbytes > s .meta_block_remaining_len {
14031403 nbytes = s .meta_block_remaining_len
14041404 }
@@ -1408,7 +1408,7 @@ func copyUncompressedBlockToOutput(available_out *uint, next_out *[]byte, total_
14081408 }
14091409
14101410 /* Copy remaining bytes from s->br.buf_ to ring-buffer. */
1411- copyBytes (s .ringbuffer [s .pos :], & s .br , uint (nbytes ))
1411+ copyBytes (s .ringbuffer [s .pos :], & s .br , uint (nbytes )) //nolint:gosec
14121412
14131413 s .pos += nbytes
14141414 s .meta_block_remaining_len -= nbytes
@@ -1526,15 +1526,15 @@ func takeDistanceFromRingBuffer(s *Reader) {
15261526 var distance_code int = s .distance_code << 1
15271527 const kDistanceShortCodeIndexOffset uint32 = 0xAAAFFF1B
15281528 const kDistanceShortCodeValueOffset uint32 = 0xFA5FA500
1529- var v int = (s .dist_rb_idx + int (kDistanceShortCodeIndexOffset >> uint (distance_code ))) & 0x3
1529+ var v int = (s .dist_rb_idx + int (kDistanceShortCodeIndexOffset >> uint (distance_code ))) & 0x3 //nolint:gosec
15301530 /* kDistanceShortCodeIndexOffset has 2-bit values from LSB:
15311531 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 */
15321532
15331533 /* kDistanceShortCodeValueOffset has 2-bit values from LSB:
15341534 -0, 0,-0, 0,-1, 1,-2, 2,-3, 3,-1, 1,-2, 2,-3, 3 */
15351535 s .distance_code = s .dist_rb [v ]
15361536
1537- v = int (kDistanceShortCodeValueOffset >> uint (distance_code )) & 0x3
1537+ v = int (kDistanceShortCodeValueOffset >> uint (distance_code )) & 0x3 //nolint:gosec
15381538 if distance_code & 0x3 != 0 {
15391539 s .distance_code += v
15401540 } else {
@@ -1590,15 +1590,15 @@ func readDistanceInternal(safe int, s *Reader, br *bitReader) bool {
15901590 var postfix int
15911591 var offset int
15921592 if safe == 0 && (s .distance_postfix_bits == 0 ) {
1593- nbits = (uint32 (distval ) >> 1 ) + 1
1593+ nbits = (uint32 (distval ) >> 1 ) + 1 //nolint:gosec
15941594 offset = ((2 + (distval & 1 )) << nbits ) - 4
15951595 s .distance_code = int (s .num_direct_distance_codes ) + offset + int (readBits (br , nbits ))
15961596 } else {
15971597 /* This branch also works well when s->distance_postfix_bits == 0. */
15981598 var bits uint32
15991599 postfix = distval & s .distance_postfix_mask
16001600 distval >>= s .distance_postfix_bits
1601- nbits = (uint32 (distval ) >> 1 ) + 1
1601+ nbits = (uint32 (distval ) >> 1 ) + 1 //nolint:gosec
16021602 if safe != 0 {
16031603 if ! safeReadBitsMaybeZero (br , nbits , & bits ) {
16041604 s .distance_code = - 1 /* Restore precondition. */
@@ -1997,7 +1997,7 @@ CommandPostDecodeLiterals:
19971997 pos += i
19981998 if i > 16 {
19991999 if i > 32 {
2000- copy (copy_dst [16 :], copy_src [16 :][:uint (i - 16 )])
2000+ copy (copy_dst [16 :], copy_src [16 :][:uint (i - 16 )]) //nolint:gosec
20012001 } else {
20022002 /* This branch covers about 45% cases.
20032003 Fixed size short copy allows more compiler optimizations. */
@@ -2419,10 +2419,10 @@ func decoderDecompressStream(s *Reader, available_in *uint, next_in *[]byte, ava
24192419 var num_distance_codes uint32
24202420 var max_distance_symbol uint32
24212421 if s .large_window {
2422- num_distance_codes = uint32 (distanceAlphabetSize (uint (s .distance_postfix_bits ), uint (num_direct_codes ), largeMaxDistanceBits ))
2422+ num_distance_codes = uint32 (distanceAlphabetSize (uint (s .distance_postfix_bits ), uint (num_direct_codes ), largeMaxDistanceBits )) //nolint:gosec
24232423 max_distance_symbol = maxDistanceSymbol (num_direct_codes , s .distance_postfix_bits )
24242424 } else {
2425- num_distance_codes = uint32 (distanceAlphabetSize (uint (s .distance_postfix_bits ), uint (num_direct_codes ), maxDistanceBits ))
2425+ num_distance_codes = uint32 (distanceAlphabetSize (uint (s .distance_postfix_bits ), uint (num_direct_codes ), maxDistanceBits )) //nolint:gosec
24262426 max_distance_symbol = num_distance_codes
24272427 }
24282428 var allocation_success bool = true
0 commit comments