Coverage Report

Created: 2025-08-11 08:01

/src/xz/src/liblzma/common/stream_flags_common.c
Line
Count
Source (jump to first uncovered line)
1
// SPDX-License-Identifier: 0BSD
2
3
///////////////////////////////////////////////////////////////////////////////
4
//
5
/// \file       stream_flags_common.c
6
/// \brief      Common stuff for Stream flags coders
7
//
8
//  Author:     Lasse Collin
9
//
10
///////////////////////////////////////////////////////////////////////////////
11
12
#include "stream_flags_common.h"
13
14
15
const uint8_t lzma_header_magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 };
16
const uint8_t lzma_footer_magic[2] = { 0x59, 0x5A };
17
18
19
extern LZMA_API(lzma_ret)
20
lzma_stream_flags_compare(
21
    const lzma_stream_flags *a, const lzma_stream_flags *b)
22
0
{
23
  // We can compare only version 0 structures.
24
0
  if (a->version != 0 || b->version != 0)
25
0
    return LZMA_OPTIONS_ERROR;
26
27
  // Check type
28
0
  if ((unsigned int)(a->check) > LZMA_CHECK_ID_MAX
29
0
      || (unsigned int)(b->check) > LZMA_CHECK_ID_MAX)
30
0
    return LZMA_PROG_ERROR;
31
32
0
  if (a->check != b->check)
33
0
    return LZMA_DATA_ERROR;
34
35
  // Backward Sizes are compared only if they are known in both.
36
0
  if (a->backward_size != LZMA_VLI_UNKNOWN
37
0
      && b->backward_size != LZMA_VLI_UNKNOWN) {
38
0
    if (!is_backward_size_valid(a) || !is_backward_size_valid(b))
39
0
      return LZMA_PROG_ERROR;
40
41
0
    if (a->backward_size != b->backward_size)
42
0
      return LZMA_DATA_ERROR;
43
0
  }
44
45
0
  return LZMA_OK;
46
0
}