Coverage Report

Created: 2026-03-31 07:17

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/mupdf/include/mupdf/fitz/stream.h
Line
Count
Source
1
// Copyright (C) 2004-2021 Artifex Software, Inc.
2
//
3
// This file is part of MuPDF.
4
//
5
// MuPDF is free software: you can redistribute it and/or modify it under the
6
// terms of the GNU Affero General Public License as published by the Free
7
// Software Foundation, either version 3 of the License, or (at your option)
8
// any later version.
9
//
10
// MuPDF is distributed in the hope that it will be useful, but WITHOUT ANY
11
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
// FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
// details.
14
//
15
// You should have received a copy of the GNU Affero General Public License
16
// along with MuPDF. If not, see <https://www.gnu.org/licenses/agpl-3.0.en.html>
17
//
18
// Alternative licensing terms are available from the licensor.
19
// For commercial licensing, see <https://www.artifex.com/> or contact
20
// Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco,
21
// CA 94129, USA, for further information.
22
23
#ifndef MUPDF_FITZ_STREAM_H
24
#define MUPDF_FITZ_STREAM_H
25
26
#include "mupdf/fitz/system.h"
27
#include "mupdf/fitz/context.h"
28
#include "mupdf/fitz/buffer.h"
29
30
/**
31
  Return true if the named file exists and is readable.
32
*/
33
int fz_file_exists(fz_context *ctx, const char *path);
34
35
/**
36
  fz_stream is a buffered reader capable of seeking in both
37
  directions.
38
39
  Streams are reference counted, so references must be dropped
40
  by a call to fz_drop_stream.
41
42
  Only the data between rp and wp is valid.
43
*/
44
typedef struct fz_stream fz_stream;
45
46
/**
47
  Open the named file and wrap it in a stream.
48
49
  filename: Path to a file. On non-Windows machines the filename
50
  should be exactly as it would be passed to fopen(2). On Windows
51
  machines, the path should be UTF-8 encoded so that non-ASCII
52
  characters can be represented. Other platforms do the encoding
53
  as standard anyway (and in most cases, particularly for MacOS
54
  and Linux, the encoding they use is UTF-8 anyway).
55
*/
56
fz_stream *fz_open_file(fz_context *ctx, const char *filename);
57
58
/**
59
  Do the same as fz_open_file, but delete the file upon close.
60
*/
61
fz_stream *fz_open_file_autodelete(fz_context *ctx, const char *filename);
62
63
/**
64
  Open the named file and wrap it in a stream.
65
66
  Does the same as fz_open_file, but in the event the file
67
  does not open, it will return NULL rather than throw an
68
  exception.
69
*/
70
fz_stream *fz_try_open_file(fz_context *ctx, const char *name);
71
72
#ifdef _WIN32
73
/**
74
  Open the named file and wrap it in a stream.
75
76
  This function is only available when compiling for Win32.
77
78
  filename: Wide character path to the file as it would be given
79
  to _wfopen().
80
*/
81
fz_stream *fz_open_file_w(fz_context *ctx, const wchar_t *filename);
82
#endif /* _WIN32 */
83
84
/**
85
  Return the filename (UTF-8 encoded) from which a stream was opened.
86
87
  Returns NULL if the filename is not available (or the stream was
88
  opened from a source other than a file).
89
*/
90
const char *fz_stream_filename(fz_context *ctx, fz_stream *stm);
91
92
/**
93
  Open a block of memory as a stream.
94
95
  data: Pointer to start of data block. Ownership of the data
96
  block is NOT passed in.
97
98
  len: Number of bytes in data block.
99
100
  Returns pointer to newly created stream. May throw exceptions on
101
  failure to allocate.
102
*/
103
fz_stream *fz_open_memory(fz_context *ctx, const unsigned char *data, size_t len);
104
105
/**
106
  Open a buffer as a stream.
107
108
  buf: The buffer to open. Ownership of the buffer is NOT passed
109
  in (this function takes its own reference).
110
111
  Returns pointer to newly created stream. May throw exceptions on
112
  failure to allocate.
113
*/
114
fz_stream *fz_open_buffer(fz_context *ctx, fz_buffer *buf);
115
116
/**
117
  Attach a filter to a stream that will store any
118
  characters read from the stream into the supplied buffer.
119
120
  chain: The underlying stream to leech from.
121
122
  buf: The buffer into which the read data should be appended.
123
  The buffer will be resized as required.
124
125
  Returns pointer to newly created stream. May throw exceptions on
126
  failure to allocate.
127
*/
128
fz_stream *fz_open_leecher(fz_context *ctx, fz_stream *chain, fz_buffer *buf);
129
130
/**
131
  Increments the reference count for a stream. Returns the same
132
  pointer.
133
134
  Never throws exceptions.
135
*/
136
fz_stream *fz_keep_stream(fz_context *ctx, fz_stream *stm);
137
138
/**
139
  Decrements the reference count for a stream.
140
141
  When the reference count for the stream hits zero, frees the
142
  storage used for the fz_stream itself, and (usually)
143
  releases the underlying resources that the stream is based upon
144
  (depends on the method used to open the stream initially).
145
*/
146
void fz_drop_stream(fz_context *ctx, fz_stream *stm);
147
148
/**
149
  return the current reading position within a stream
150
*/
151
int64_t fz_tell(fz_context *ctx, fz_stream *stm);
152
153
/**
154
  Seek within a stream.
155
156
  stm: The stream to seek within.
157
158
  offset: The offset to seek to.
159
160
  whence: From where the offset is measured (see fseek).
161
  SEEK_SET - start of stream.
162
  SEEK_CUR - current position.
163
  SEEK_END - end of stream.
164
165
*/
166
void fz_seek(fz_context *ctx, fz_stream *stm, int64_t offset, int whence);
167
168
/**
169
  Read from a stream into a given data block.
170
171
  stm: The stream to read from.
172
173
  data: The data block to read into.
174
175
  len: The length of the data block (in bytes).
176
177
  Returns the number of bytes read. May throw exceptions.
178
*/
179
size_t fz_read(fz_context *ctx, fz_stream *stm, unsigned char *data, size_t len);
180
181
/**
182
  Read from a stream discarding data.
183
184
  stm: The stream to read from.
185
186
  len: The number of bytes to read.
187
188
  Returns the number of bytes read. May throw exceptions.
189
*/
190
size_t fz_skip(fz_context *ctx, fz_stream *stm, size_t len);
191
192
/**
193
  Read all of a stream into a buffer.
194
195
  stm: The stream to read from
196
197
  initial: Suggested initial size for the buffer.
198
199
  Returns a buffer created from reading from the stream. May throw
200
  exceptions on failure to allocate.
201
*/
202
fz_buffer *fz_read_all(fz_context *ctx, fz_stream *stm, size_t initial);
203
204
/**
205
  Read all the contents of a file into a buffer.
206
*/
207
fz_buffer *fz_read_file(fz_context *ctx, const char *filename);
208
209
/**
210
  Read all the contents of a file into a buffer.
211
212
  Returns NULL if the file does not exist, otherwise
213
  behaves exactly as fz_read_file.
214
*/
215
fz_buffer *fz_try_read_file(fz_context *ctx, const char *filename);
216
217
/**
218
  fz_read_[u]int(16|24|32|64)(_le)?
219
220
  Read a 16/32/64 bit signed/unsigned integer from stream,
221
  in big or little-endian byte orders.
222
223
  Throws an exception if EOF is encountered.
224
*/
225
uint16_t fz_read_uint16(fz_context *ctx, fz_stream *stm);
226
uint32_t fz_read_uint24(fz_context *ctx, fz_stream *stm);
227
uint32_t fz_read_uint32(fz_context *ctx, fz_stream *stm);
228
uint64_t fz_read_uint64(fz_context *ctx, fz_stream *stm);
229
230
uint16_t fz_read_uint16_le(fz_context *ctx, fz_stream *stm);
231
uint32_t fz_read_uint24_le(fz_context *ctx, fz_stream *stm);
232
uint32_t fz_read_uint32_le(fz_context *ctx, fz_stream *stm);
233
uint64_t fz_read_uint64_le(fz_context *ctx, fz_stream *stm);
234
235
int16_t fz_read_int16(fz_context *ctx, fz_stream *stm);
236
int32_t fz_read_int32(fz_context *ctx, fz_stream *stm);
237
int64_t fz_read_int64(fz_context *ctx, fz_stream *stm);
238
239
int16_t fz_read_int16_le(fz_context *ctx, fz_stream *stm);
240
int32_t fz_read_int32_le(fz_context *ctx, fz_stream *stm);
241
int64_t fz_read_int64_le(fz_context *ctx, fz_stream *stm);
242
243
float fz_read_float_le(fz_context *ctx, fz_stream *stm);
244
float fz_read_float(fz_context *ctx, fz_stream *stm);
245
246
/**
247
  Read a null terminated string from the stream into
248
  a buffer of a given length. The buffer will be null terminated.
249
  Throws on failure (including the failure to fit the entire
250
  string including the terminator into the buffer).
251
*/
252
void fz_read_string(fz_context *ctx, fz_stream *stm, char *buffer, int len);
253
254
/**
255
  Read a utf-8 rune from a stream.
256
257
  In the event of encountering badly formatted utf-8 codes
258
  (such as a leading code with an unexpected number of following
259
  codes) no error/exception is given, but undefined values may be
260
  returned.
261
*/
262
int fz_read_rune(fz_context *ctx, fz_stream *in);
263
264
/**
265
  Read a utf-16 rune from a stream. (little endian and
266
  big endian respectively).
267
268
  In the event of encountering badly formatted utf-16 codes
269
  (mismatched surrogates) no error/exception is given, but
270
  undefined values may be returned.
271
*/
272
int fz_read_utf16_le(fz_context *ctx, fz_stream *stm);
273
int fz_read_utf16_be(fz_context *ctx, fz_stream *stm);
274
275
/**
276
  A function type for use when implementing
277
  fz_streams. The supplied function of this type is called
278
  whenever data is required, and the current buffer is empty.
279
280
  stm: The stream to operate on.
281
282
  max: a hint as to the maximum number of bytes that the caller
283
  needs to be ready immediately. Can safely be ignored.
284
285
  Returns -1 if there is no more data in the stream. Otherwise,
286
  the function should find its internal state using stm->state,
287
  refill its buffer, update stm->rp and stm->wp to point to the
288
  start and end of the new data respectively, and then
289
  "return *stm->rp++".
290
*/
291
typedef int (fz_stream_next_fn)(fz_context *ctx, fz_stream *stm, size_t max);
292
293
/**
294
  A function type for use when implementing
295
  fz_streams. The supplied function of this type is called
296
  when the stream is dropped, to release the stream specific
297
  state information.
298
299
  state: The stream state to release.
300
*/
301
typedef void (fz_stream_drop_fn)(fz_context *ctx, void *state);
302
303
/**
304
  A function type for use when implementing
305
  fz_streams. The supplied function of this type is called when
306
  fz_seek is requested, and the arguments are as defined for
307
  fz_seek.
308
309
  The stream can find it's private state in stm->state.
310
*/
311
typedef void (fz_stream_seek_fn)(fz_context *ctx, fz_stream *stm, int64_t offset, int whence);
312
313
struct fz_stream
314
{
315
  int refs;
316
  int error;
317
  int eof;
318
  int progressive;
319
  int64_t pos;
320
  int avail;
321
  int bits;
322
  unsigned char *rp, *wp;
323
  void *state;
324
  fz_stream_next_fn *next;
325
  fz_stream_drop_fn *drop;
326
  fz_stream_seek_fn *seek;
327
};
328
329
/**
330
  Create a new stream object with the given
331
  internal state and function pointers.
332
333
  state: Internal state (opaque to everything but implementation).
334
335
  next: Should provide the next set of bytes (up to max) of stream
336
  data. Return the number of bytes read, or EOF when there is no
337
  more data.
338
339
  drop: Should clean up and free the internal state. May not
340
  throw exceptions.
341
*/
342
fz_stream *fz_new_stream(fz_context *ctx, void *state, fz_stream_next_fn *next, fz_stream_drop_fn *drop);
343
344
/**
345
  Attempt to read a stream into a buffer. If truncated
346
  is NULL behaves as fz_read_all, sets a truncated flag in case of
347
  error.
348
349
  stm: The stream to read from.
350
351
  initial: Suggested initial size for the buffer.
352
353
  truncated: Flag to store success/failure indication in.
354
355
  worst_case: 0 for unknown, otherwise an upper bound for the
356
  size of the stream.
357
358
  Returns a buffer created from reading from the stream.
359
*/
360
fz_buffer *fz_read_best(fz_context *ctx, fz_stream *stm, size_t initial, int *truncated, size_t worst_case);
361
362
/**
363
  Read a line from stream into the buffer until either a
364
  terminating newline or EOF, which it replaces with a null byte
365
  ('\0').
366
367
  Returns buf on success, and NULL when end of file occurs while
368
  no characters have been read.
369
*/
370
char *fz_read_line(fz_context *ctx, fz_stream *stm, char *buf, size_t max);
371
372
/**
373
  Skip over a given string in a stream. Return 0 if successfully
374
  skipped, non-zero otherwise. As many characters will be skipped
375
  over as matched in the string.
376
*/
377
int fz_skip_string(fz_context *ctx, fz_stream *stm, const char *str);
378
379
/**
380
  Skip over whitespace (bytes <= 32) in a stream.
381
*/
382
void fz_skip_space(fz_context *ctx, fz_stream *stm);
383
384
/**
385
  Ask how many bytes are available immediately from
386
  a given stream.
387
388
  stm: The stream to read from.
389
390
  max: A hint for the underlying stream; the maximum number of
391
  bytes that we are sure we will want to read. If you do not know
392
  this number, give 1.
393
394
  Returns the number of bytes immediately available between the
395
  read and write pointers. This number is guaranteed only to be 0
396
  if we have hit EOF. The number of bytes returned here need have
397
  no relation to max (could be larger, could be smaller).
398
*/
399
static inline size_t fz_available(fz_context *ctx, fz_stream *stm, size_t max)
400
14.6k
{
401
14.6k
  size_t len = stm->wp - stm->rp;
402
14.6k
  int c = EOF;
403
404
14.6k
  if (len)
405
14.0k
    return len;
406
524
  if (stm->eof)
407
4
    return 0;
408
409
1.04k
  fz_try(ctx)
410
1.04k
    c = stm->next(ctx, stm, max);
411
1.04k
  fz_catch(ctx)
412
0
  {
413
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
414
0
    fz_report_error(ctx);
415
0
    fz_warn(ctx, "read error; treating as end of file");
416
0
    stm->error = 1;
417
0
    c = EOF;
418
0
  }
419
520
  if (c == EOF)
420
10
  {
421
10
    stm->eof = 1;
422
10
    return 0;
423
10
  }
424
510
  stm->rp--;
425
510
  return stm->wp - stm->rp;
426
520
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_available(fz_context*, fz_stream*, unsigned long)
Unexecuted instantiation: colorspace.c:fz_available
Unexecuted instantiation: context.c:fz_available
Unexecuted instantiation: document-all.c:fz_available
Unexecuted instantiation: document.c:fz_available
Unexecuted instantiation: draw-device.c:fz_available
Unexecuted instantiation: draw-glyph.c:fz_available
Unexecuted instantiation: draw-mesh.c:fz_available
Unexecuted instantiation: draw-paint.c:fz_available
Unexecuted instantiation: draw-path.c:fz_available
Unexecuted instantiation: draw-rasterize.c:fz_available
Unexecuted instantiation: draw-scale-simple.c:fz_available
Unexecuted instantiation: error.c:fz_available
Unexecuted instantiation: font.c:fz_available
Unexecuted instantiation: geometry.c:fz_available
Unexecuted instantiation: glyph.c:fz_available
Unexecuted instantiation: gz-doc.c:fz_available
Unexecuted instantiation: hash.c:fz_available
Unexecuted instantiation: hyphen.c:fz_available
Unexecuted instantiation: image.c:fz_available
Unexecuted instantiation: link.c:fz_available
Unexecuted instantiation: list-device.c:fz_available
Unexecuted instantiation: load-bmp.c:fz_available
Unexecuted instantiation: load-gif.c:fz_available
Unexecuted instantiation: load-jbig2.c:fz_available
Unexecuted instantiation: load-jpeg.c:fz_available
Unexecuted instantiation: load-jpx.c:fz_available
Unexecuted instantiation: load-jxr.c:fz_available
Unexecuted instantiation: load-png.c:fz_available
Unexecuted instantiation: load-pnm.c:fz_available
Unexecuted instantiation: load-psd.c:fz_available
Unexecuted instantiation: load-tiff.c:fz_available
Unexecuted instantiation: memory.c:fz_available
Unexecuted instantiation: noto.c:fz_available
Unexecuted instantiation: options.c:fz_available
Unexecuted instantiation: outline.c:fz_available
Unexecuted instantiation: output.c:fz_available
Unexecuted instantiation: path.c:fz_available
Unexecuted instantiation: pixmap.c:fz_available
Unexecuted instantiation: pool.c:fz_available
Unexecuted instantiation: printf.c:fz_available
Unexecuted instantiation: random.c:fz_available
Unexecuted instantiation: separation.c:fz_available
Unexecuted instantiation: shade.c:fz_available
Unexecuted instantiation: store.c:fz_available
Unexecuted instantiation: stream-open.c:fz_available
stream-read.c:fz_available
Line
Count
Source
400
13.7k
{
401
13.7k
  size_t len = stm->wp - stm->rp;
402
13.7k
  int c = EOF;
403
404
13.7k
  if (len)
405
13.5k
    return len;
406
283
  if (stm->eof)
407
3
    return 0;
408
409
560
  fz_try(ctx)
410
560
    c = stm->next(ctx, stm, max);
411
560
  fz_catch(ctx)
412
0
  {
413
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
414
0
    fz_report_error(ctx);
415
0
    fz_warn(ctx, "read error; treating as end of file");
416
0
    stm->error = 1;
417
0
    c = EOF;
418
0
  }
419
280
  if (c == EOF)
420
7
  {
421
7
    stm->eof = 1;
422
7
    return 0;
423
7
  }
424
273
  stm->rp--;
425
273
  return stm->wp - stm->rp;
426
280
}
Unexecuted instantiation: string.c:fz_available
Unexecuted instantiation: strtof.c:fz_available
Unexecuted instantiation: text.c:fz_available
Unexecuted instantiation: ucdn.c:fz_available
Unexecuted instantiation: unzip.c:fz_available
Unexecuted instantiation: util.c:fz_available
Unexecuted instantiation: writer.c:fz_available
Unexecuted instantiation: pdf-write.c:fz_available
Unexecuted instantiation: pdf-xref.c:fz_available
Unexecuted instantiation: xps-doc.c:fz_available
Unexecuted instantiation: xps-link.c:fz_available
Unexecuted instantiation: xps-path.c:fz_available
Unexecuted instantiation: xps-resource.c:fz_available
Unexecuted instantiation: xps-tile.c:fz_available
Unexecuted instantiation: xps-util.c:fz_available
Unexecuted instantiation: xps-zip.c:fz_available
Unexecuted instantiation: svg-doc.c:fz_available
Unexecuted instantiation: svg-run.c:fz_available
Unexecuted instantiation: epub-doc.c:fz_available
Unexecuted instantiation: html-doc.c:fz_available
Unexecuted instantiation: html-font.c:fz_available
Unexecuted instantiation: html-layout.c:fz_available
Unexecuted instantiation: html-outline.c:fz_available
Unexecuted instantiation: html-parse.c:fz_available
Unexecuted instantiation: mobi.c:fz_available
Unexecuted instantiation: office.c:fz_available
Unexecuted instantiation: txt.c:fz_available
Unexecuted instantiation: mucbz.c:fz_available
Unexecuted instantiation: muimg.c:fz_available
Unexecuted instantiation: archive.c:fz_available
Unexecuted instantiation: bbox-device.c:fz_available
Unexecuted instantiation: bidi.c:fz_available
Unexecuted instantiation: bitmap.c:fz_available
Unexecuted instantiation: brotli.c:fz_available
Unexecuted instantiation: buffer.c:fz_available
Unexecuted instantiation: color-fast.c:fz_available
Unexecuted instantiation: color-icc-create.c:fz_available
Unexecuted instantiation: color-lcms.c:fz_available
Unexecuted instantiation: compressed-buffer.c:fz_available
Unexecuted instantiation: crypt-md5.c:fz_available
Unexecuted instantiation: device.c:fz_available
Unexecuted instantiation: directory.c:fz_available
Unexecuted instantiation: draw-affine.c:fz_available
Unexecuted instantiation: draw-blend.c:fz_available
Unexecuted instantiation: draw-edge.c:fz_available
Unexecuted instantiation: draw-edgebuffer.c:fz_available
Unexecuted instantiation: draw-unpack.c:fz_available
Unexecuted instantiation: encode-fax.c:fz_available
Unexecuted instantiation: encodings.c:fz_available
filter-basic.c:fz_available
Line
Count
Source
400
241
{
401
241
  size_t len = stm->wp - stm->rp;
402
241
  int c = EOF;
403
404
241
  if (len)
405
239
    return len;
406
2
  if (stm->eof)
407
0
    return 0;
408
409
4
  fz_try(ctx)
410
4
    c = stm->next(ctx, stm, max);
411
4
  fz_catch(ctx)
412
0
  {
413
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
414
0
    fz_report_error(ctx);
415
0
    fz_warn(ctx, "read error; treating as end of file");
416
0
    stm->error = 1;
417
0
    c = EOF;
418
0
  }
419
2
  if (c == EOF)
420
2
  {
421
2
    stm->eof = 1;
422
2
    return 0;
423
2
  }
424
0
  stm->rp--;
425
0
  return stm->wp - stm->rp;
426
2
}
Unexecuted instantiation: filter-brotli.c:fz_available
Unexecuted instantiation: filter-dct.c:fz_available
Unexecuted instantiation: filter-fax.c:fz_available
filter-flate.c:fz_available
Line
Count
Source
400
588
{
401
588
  size_t len = stm->wp - stm->rp;
402
588
  int c = EOF;
403
404
588
  if (len)
405
349
    return len;
406
239
  if (stm->eof)
407
1
    return 0;
408
409
476
  fz_try(ctx)
410
476
    c = stm->next(ctx, stm, max);
411
476
  fz_catch(ctx)
412
0
  {
413
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
414
0
    fz_report_error(ctx);
415
0
    fz_warn(ctx, "read error; treating as end of file");
416
0
    stm->error = 1;
417
0
    c = EOF;
418
0
  }
419
238
  if (c == EOF)
420
1
  {
421
1
    stm->eof = 1;
422
1
    return 0;
423
1
  }
424
237
  stm->rp--;
425
237
  return stm->wp - stm->rp;
426
238
}
Unexecuted instantiation: filter-jbig2.c:fz_available
Unexecuted instantiation: filter-lzw.c:fz_available
Unexecuted instantiation: filter-predict.c:fz_available
Unexecuted instantiation: filter-sgi.c:fz_available
Unexecuted instantiation: filter-thunder.c:fz_available
Unexecuted instantiation: ftoa.c:fz_available
Unexecuted instantiation: halftone.c:fz_available
Unexecuted instantiation: harfbuzz.c:fz_available
Unexecuted instantiation: output-cbz.c:fz_available
Unexecuted instantiation: output-csv.c:fz_available
Unexecuted instantiation: output-docx.c:fz_available
Unexecuted instantiation: output-jpeg.c:fz_available
Unexecuted instantiation: output-pcl.c:fz_available
Unexecuted instantiation: output-pclm.c:fz_available
Unexecuted instantiation: output-pdfocr.c:fz_available
Unexecuted instantiation: output-png.c:fz_available
Unexecuted instantiation: output-pnm.c:fz_available
Unexecuted instantiation: output-ps.c:fz_available
Unexecuted instantiation: output-pwg.c:fz_available
Unexecuted instantiation: output-svg.c:fz_available
Unexecuted instantiation: stext-device.c:fz_available
Unexecuted instantiation: stext-output.c:fz_available
Unexecuted instantiation: stext-para.c:fz_available
Unexecuted instantiation: stext-search.c:fz_available
Unexecuted instantiation: stext-table.c:fz_available
Unexecuted instantiation: svg-device.c:fz_available
Unexecuted instantiation: tree.c:fz_available
Unexecuted instantiation: uncfb.c:fz_available
Unexecuted instantiation: unlibarchive.c:fz_available
Unexecuted instantiation: untar.c:fz_available
Unexecuted instantiation: xml.c:fz_available
Unexecuted instantiation: zip.c:fz_available
Unexecuted instantiation: pdf-annot.c:fz_available
Unexecuted instantiation: pdf-appearance.c:fz_available
Unexecuted instantiation: pdf-clean.c:fz_available
Unexecuted instantiation: pdf-colorspace.c:fz_available
Unexecuted instantiation: pdf-crypt.c:fz_available
Unexecuted instantiation: pdf-device.c:fz_available
Unexecuted instantiation: pdf-event.c:fz_available
Unexecuted instantiation: pdf-font-add.c:fz_available
Unexecuted instantiation: pdf-font.c:fz_available
Unexecuted instantiation: pdf-form.c:fz_available
Unexecuted instantiation: pdf-function.c:fz_available
Unexecuted instantiation: pdf-image.c:fz_available
Unexecuted instantiation: pdf-interpret.c:fz_available
Unexecuted instantiation: pdf-js.c:fz_available
Unexecuted instantiation: pdf-label.c:fz_available
Unexecuted instantiation: pdf-layer.c:fz_available
Unexecuted instantiation: pdf-layout.c:fz_available
Unexecuted instantiation: pdf-lex.c:fz_available
Unexecuted instantiation: pdf-link.c:fz_available
Unexecuted instantiation: pdf-metrics.c:fz_available
Unexecuted instantiation: pdf-nametree.c:fz_available
Unexecuted instantiation: pdf-object.c:fz_available
Unexecuted instantiation: pdf-op-buffer.c:fz_available
Unexecuted instantiation: pdf-op-filter.c:fz_available
Unexecuted instantiation: pdf-op-run.c:fz_available
Unexecuted instantiation: pdf-op-vectorize.c:fz_available
Unexecuted instantiation: pdf-outline.c:fz_available
Unexecuted instantiation: pdf-page.c:fz_available
Unexecuted instantiation: pdf-parse.c:fz_available
Unexecuted instantiation: pdf-pattern.c:fz_available
Unexecuted instantiation: pdf-repair.c:fz_available
Unexecuted instantiation: pdf-resources.c:fz_available
Unexecuted instantiation: pdf-run.c:fz_available
Unexecuted instantiation: pdf-shade.c:fz_available
Unexecuted instantiation: pdf-signature.c:fz_available
Unexecuted instantiation: pdf-store.c:fz_available
Unexecuted instantiation: pdf-stream.c:fz_available
Unexecuted instantiation: pdf-type3.c:fz_available
Unexecuted instantiation: pdf-unicode.c:fz_available
Unexecuted instantiation: pdf-xobject.c:fz_available
Unexecuted instantiation: xps-common.c:fz_available
Unexecuted instantiation: xps-glyphs.c:fz_available
Unexecuted instantiation: xps-gradient.c:fz_available
Unexecuted instantiation: xps-image.c:fz_available
Unexecuted instantiation: xps-outline.c:fz_available
Unexecuted instantiation: svg-color.c:fz_available
Unexecuted instantiation: svg-parse.c:fz_available
Unexecuted instantiation: css-apply.c:fz_available
Unexecuted instantiation: css-parse.c:fz_available
Unexecuted instantiation: bidi-std.c:fz_available
Unexecuted instantiation: compress.c:fz_available
Unexecuted instantiation: crypt-aes.c:fz_available
Unexecuted instantiation: crypt-arc4.c:fz_available
Unexecuted instantiation: crypt-sha2.c:fz_available
Unexecuted instantiation: filter-leech.c:fz_available
Unexecuted instantiation: glyphbox.c:fz_available
Unexecuted instantiation: stext-boxer.c:fz_available
Unexecuted instantiation: stext-iterator.c:fz_available
Unexecuted instantiation: stext-raft.c:fz_available
Unexecuted instantiation: text-decoder.c:fz_available
Unexecuted instantiation: pdf-cmap-load.c:fz_available
Unexecuted instantiation: pdf-cmap-parse.c:fz_available
Unexecuted instantiation: pdf-cmap.c:fz_available
427
428
/**
429
  Read the next byte from a stream.
430
431
  stm: The stream t read from.
432
433
  Returns -1 for end of stream, or the next byte. May
434
  throw exceptions.
435
*/
436
static inline int fz_read_byte(fz_context *ctx, fz_stream *stm)
437
9.68M
{
438
9.68M
  int c = EOF;
439
440
9.68M
  if (stm->rp != stm->wp)
441
9.68M
    return *stm->rp++;
442
109
  if (stm->eof)
443
13
    return EOF;
444
192
  fz_try(ctx)
445
192
    c = stm->next(ctx, stm, 1);
446
192
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
96
  if (c == EOF)
455
17
    stm->eof = 1;
456
96
  return c;
457
109
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_read_byte(fz_context*, fz_stream*)
Unexecuted instantiation: colorspace.c:fz_read_byte
Unexecuted instantiation: context.c:fz_read_byte
Unexecuted instantiation: document-all.c:fz_read_byte
Unexecuted instantiation: document.c:fz_read_byte
Unexecuted instantiation: draw-device.c:fz_read_byte
Unexecuted instantiation: draw-glyph.c:fz_read_byte
Unexecuted instantiation: draw-mesh.c:fz_read_byte
Unexecuted instantiation: draw-paint.c:fz_read_byte
Unexecuted instantiation: draw-path.c:fz_read_byte
Unexecuted instantiation: draw-rasterize.c:fz_read_byte
Unexecuted instantiation: draw-scale-simple.c:fz_read_byte
Unexecuted instantiation: error.c:fz_read_byte
Unexecuted instantiation: font.c:fz_read_byte
Unexecuted instantiation: geometry.c:fz_read_byte
Unexecuted instantiation: glyph.c:fz_read_byte
Unexecuted instantiation: gz-doc.c:fz_read_byte
Unexecuted instantiation: hash.c:fz_read_byte
Unexecuted instantiation: hyphen.c:fz_read_byte
Unexecuted instantiation: image.c:fz_read_byte
Unexecuted instantiation: link.c:fz_read_byte
Unexecuted instantiation: list-device.c:fz_read_byte
Unexecuted instantiation: load-bmp.c:fz_read_byte
Unexecuted instantiation: load-gif.c:fz_read_byte
Unexecuted instantiation: load-jbig2.c:fz_read_byte
Unexecuted instantiation: load-jpeg.c:fz_read_byte
Unexecuted instantiation: load-jpx.c:fz_read_byte
Unexecuted instantiation: load-jxr.c:fz_read_byte
Unexecuted instantiation: load-png.c:fz_read_byte
Unexecuted instantiation: load-pnm.c:fz_read_byte
Unexecuted instantiation: load-psd.c:fz_read_byte
Unexecuted instantiation: load-tiff.c:fz_read_byte
Unexecuted instantiation: memory.c:fz_read_byte
Unexecuted instantiation: noto.c:fz_read_byte
Unexecuted instantiation: options.c:fz_read_byte
Unexecuted instantiation: outline.c:fz_read_byte
Unexecuted instantiation: output.c:fz_read_byte
Unexecuted instantiation: path.c:fz_read_byte
Unexecuted instantiation: pixmap.c:fz_read_byte
Unexecuted instantiation: pool.c:fz_read_byte
Unexecuted instantiation: printf.c:fz_read_byte
Unexecuted instantiation: random.c:fz_read_byte
Unexecuted instantiation: separation.c:fz_read_byte
Unexecuted instantiation: shade.c:fz_read_byte
Unexecuted instantiation: store.c:fz_read_byte
Unexecuted instantiation: stream-open.c:fz_read_byte
stream-read.c:fz_read_byte
Line
Count
Source
437
1.92k
{
438
1.92k
  int c = EOF;
439
440
1.92k
  if (stm->rp != stm->wp)
441
1.92k
    return *stm->rp++;
442
0
  if (stm->eof)
443
0
    return EOF;
444
0
  fz_try(ctx)
445
0
    c = stm->next(ctx, stm, 1);
446
0
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
0
  if (c == EOF)
455
0
    stm->eof = 1;
456
0
  return c;
457
0
}
Unexecuted instantiation: string.c:fz_read_byte
Unexecuted instantiation: strtof.c:fz_read_byte
Unexecuted instantiation: text.c:fz_read_byte
Unexecuted instantiation: ucdn.c:fz_read_byte
Unexecuted instantiation: unzip.c:fz_read_byte
Unexecuted instantiation: util.c:fz_read_byte
Unexecuted instantiation: writer.c:fz_read_byte
Unexecuted instantiation: pdf-write.c:fz_read_byte
pdf-xref.c:fz_read_byte
Line
Count
Source
437
16.4k
{
438
16.4k
  int c = EOF;
439
440
16.4k
  if (stm->rp != stm->wp)
441
16.4k
    return *stm->rp++;
442
0
  if (stm->eof)
443
0
    return EOF;
444
0
  fz_try(ctx)
445
0
    c = stm->next(ctx, stm, 1);
446
0
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
0
  if (c == EOF)
455
0
    stm->eof = 1;
456
0
  return c;
457
0
}
Unexecuted instantiation: xps-doc.c:fz_read_byte
Unexecuted instantiation: xps-link.c:fz_read_byte
Unexecuted instantiation: xps-path.c:fz_read_byte
Unexecuted instantiation: xps-resource.c:fz_read_byte
Unexecuted instantiation: xps-tile.c:fz_read_byte
Unexecuted instantiation: xps-util.c:fz_read_byte
Unexecuted instantiation: xps-zip.c:fz_read_byte
svg-doc.c:fz_read_byte
Line
Count
Source
437
12
{
438
12
  int c = EOF;
439
440
12
  if (stm->rp != stm->wp)
441
12
    return *stm->rp++;
442
0
  if (stm->eof)
443
0
    return EOF;
444
0
  fz_try(ctx)
445
0
    c = stm->next(ctx, stm, 1);
446
0
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
0
  if (c == EOF)
455
0
    stm->eof = 1;
456
0
  return c;
457
0
}
Unexecuted instantiation: svg-run.c:fz_read_byte
Unexecuted instantiation: epub-doc.c:fz_read_byte
html-doc.c:fz_read_byte
Line
Count
Source
437
49.1k
{
438
49.1k
  int c = EOF;
439
440
49.1k
  if (stm->rp != stm->wp)
441
49.1k
    return *stm->rp++;
442
0
  if (stm->eof)
443
0
    return EOF;
444
0
  fz_try(ctx)
445
0
    c = stm->next(ctx, stm, 1);
446
0
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
0
  if (c == EOF)
455
0
    stm->eof = 1;
456
0
  return c;
457
0
}
Unexecuted instantiation: html-font.c:fz_read_byte
Unexecuted instantiation: html-layout.c:fz_read_byte
Unexecuted instantiation: html-outline.c:fz_read_byte
Unexecuted instantiation: html-parse.c:fz_read_byte
Unexecuted instantiation: mobi.c:fz_read_byte
Unexecuted instantiation: office.c:fz_read_byte
Unexecuted instantiation: txt.c:fz_read_byte
Unexecuted instantiation: mucbz.c:fz_read_byte
Unexecuted instantiation: muimg.c:fz_read_byte
Unexecuted instantiation: archive.c:fz_read_byte
Unexecuted instantiation: bbox-device.c:fz_read_byte
Unexecuted instantiation: bidi.c:fz_read_byte
Unexecuted instantiation: bitmap.c:fz_read_byte
Unexecuted instantiation: brotli.c:fz_read_byte
Unexecuted instantiation: buffer.c:fz_read_byte
Unexecuted instantiation: color-fast.c:fz_read_byte
Unexecuted instantiation: color-icc-create.c:fz_read_byte
Unexecuted instantiation: color-lcms.c:fz_read_byte
Unexecuted instantiation: compressed-buffer.c:fz_read_byte
Unexecuted instantiation: crypt-md5.c:fz_read_byte
Unexecuted instantiation: device.c:fz_read_byte
Unexecuted instantiation: directory.c:fz_read_byte
Unexecuted instantiation: draw-affine.c:fz_read_byte
Unexecuted instantiation: draw-blend.c:fz_read_byte
Unexecuted instantiation: draw-edge.c:fz_read_byte
Unexecuted instantiation: draw-edgebuffer.c:fz_read_byte
Unexecuted instantiation: draw-unpack.c:fz_read_byte
Unexecuted instantiation: encode-fax.c:fz_read_byte
Unexecuted instantiation: encodings.c:fz_read_byte
Unexecuted instantiation: filter-basic.c:fz_read_byte
Unexecuted instantiation: filter-brotli.c:fz_read_byte
Unexecuted instantiation: filter-dct.c:fz_read_byte
Unexecuted instantiation: filter-fax.c:fz_read_byte
Unexecuted instantiation: filter-flate.c:fz_read_byte
Unexecuted instantiation: filter-jbig2.c:fz_read_byte
Unexecuted instantiation: filter-lzw.c:fz_read_byte
Unexecuted instantiation: filter-predict.c:fz_read_byte
Unexecuted instantiation: filter-sgi.c:fz_read_byte
Unexecuted instantiation: filter-thunder.c:fz_read_byte
Unexecuted instantiation: ftoa.c:fz_read_byte
Unexecuted instantiation: halftone.c:fz_read_byte
Unexecuted instantiation: harfbuzz.c:fz_read_byte
Unexecuted instantiation: output-cbz.c:fz_read_byte
Unexecuted instantiation: output-csv.c:fz_read_byte
Unexecuted instantiation: output-docx.c:fz_read_byte
Unexecuted instantiation: output-jpeg.c:fz_read_byte
Unexecuted instantiation: output-pcl.c:fz_read_byte
Unexecuted instantiation: output-pclm.c:fz_read_byte
Unexecuted instantiation: output-pdfocr.c:fz_read_byte
Unexecuted instantiation: output-png.c:fz_read_byte
Unexecuted instantiation: output-pnm.c:fz_read_byte
Unexecuted instantiation: output-ps.c:fz_read_byte
Unexecuted instantiation: output-pwg.c:fz_read_byte
Unexecuted instantiation: output-svg.c:fz_read_byte
Unexecuted instantiation: stext-device.c:fz_read_byte
Unexecuted instantiation: stext-output.c:fz_read_byte
Unexecuted instantiation: stext-para.c:fz_read_byte
Unexecuted instantiation: stext-search.c:fz_read_byte
Unexecuted instantiation: stext-table.c:fz_read_byte
Unexecuted instantiation: svg-device.c:fz_read_byte
Unexecuted instantiation: tree.c:fz_read_byte
Unexecuted instantiation: uncfb.c:fz_read_byte
Unexecuted instantiation: unlibarchive.c:fz_read_byte
Unexecuted instantiation: untar.c:fz_read_byte
Unexecuted instantiation: xml.c:fz_read_byte
Unexecuted instantiation: zip.c:fz_read_byte
Unexecuted instantiation: pdf-annot.c:fz_read_byte
Unexecuted instantiation: pdf-appearance.c:fz_read_byte
Unexecuted instantiation: pdf-clean.c:fz_read_byte
Unexecuted instantiation: pdf-colorspace.c:fz_read_byte
Unexecuted instantiation: pdf-crypt.c:fz_read_byte
Unexecuted instantiation: pdf-device.c:fz_read_byte
Unexecuted instantiation: pdf-event.c:fz_read_byte
Unexecuted instantiation: pdf-font-add.c:fz_read_byte
Unexecuted instantiation: pdf-font.c:fz_read_byte
Unexecuted instantiation: pdf-form.c:fz_read_byte
Unexecuted instantiation: pdf-function.c:fz_read_byte
Unexecuted instantiation: pdf-image.c:fz_read_byte
Unexecuted instantiation: pdf-interpret.c:fz_read_byte
Unexecuted instantiation: pdf-js.c:fz_read_byte
Unexecuted instantiation: pdf-label.c:fz_read_byte
Unexecuted instantiation: pdf-layer.c:fz_read_byte
Unexecuted instantiation: pdf-layout.c:fz_read_byte
pdf-lex.c:fz_read_byte
Line
Count
Source
437
4.79M
{
438
4.79M
  int c = EOF;
439
440
4.79M
  if (stm->rp != stm->wp)
441
4.79M
    return *stm->rp++;
442
103
  if (stm->eof)
443
13
    return EOF;
444
180
  fz_try(ctx)
445
180
    c = stm->next(ctx, stm, 1);
446
180
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
90
  if (c == EOF)
455
11
    stm->eof = 1;
456
90
  return c;
457
103
}
Unexecuted instantiation: pdf-link.c:fz_read_byte
Unexecuted instantiation: pdf-metrics.c:fz_read_byte
Unexecuted instantiation: pdf-nametree.c:fz_read_byte
Unexecuted instantiation: pdf-object.c:fz_read_byte
Unexecuted instantiation: pdf-op-buffer.c:fz_read_byte
Unexecuted instantiation: pdf-op-filter.c:fz_read_byte
Unexecuted instantiation: pdf-op-run.c:fz_read_byte
Unexecuted instantiation: pdf-op-vectorize.c:fz_read_byte
Unexecuted instantiation: pdf-outline.c:fz_read_byte
Unexecuted instantiation: pdf-page.c:fz_read_byte
pdf-parse.c:fz_read_byte
Line
Count
Source
437
160
{
438
160
  int c = EOF;
439
440
160
  if (stm->rp != stm->wp)
441
160
    return *stm->rp++;
442
0
  if (stm->eof)
443
0
    return EOF;
444
0
  fz_try(ctx)
445
0
    c = stm->next(ctx, stm, 1);
446
0
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
0
  if (c == EOF)
455
0
    stm->eof = 1;
456
0
  return c;
457
0
}
Unexecuted instantiation: pdf-pattern.c:fz_read_byte
pdf-repair.c:fz_read_byte
Line
Count
Source
437
4.82M
{
438
4.82M
  int c = EOF;
439
440
4.82M
  if (stm->rp != stm->wp)
441
4.82M
    return *stm->rp++;
442
6
  if (stm->eof)
443
0
    return EOF;
444
12
  fz_try(ctx)
445
12
    c = stm->next(ctx, stm, 1);
446
12
  fz_catch(ctx)
447
0
  {
448
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
449
0
    fz_report_error(ctx);
450
0
    fz_warn(ctx, "read error; treating as end of file");
451
0
    stm->error = 1;
452
0
    c = EOF;
453
0
  }
454
6
  if (c == EOF)
455
6
    stm->eof = 1;
456
6
  return c;
457
6
}
Unexecuted instantiation: pdf-resources.c:fz_read_byte
Unexecuted instantiation: pdf-run.c:fz_read_byte
Unexecuted instantiation: pdf-shade.c:fz_read_byte
Unexecuted instantiation: pdf-signature.c:fz_read_byte
Unexecuted instantiation: pdf-store.c:fz_read_byte
Unexecuted instantiation: pdf-stream.c:fz_read_byte
Unexecuted instantiation: pdf-type3.c:fz_read_byte
Unexecuted instantiation: pdf-unicode.c:fz_read_byte
Unexecuted instantiation: pdf-xobject.c:fz_read_byte
Unexecuted instantiation: xps-common.c:fz_read_byte
Unexecuted instantiation: xps-glyphs.c:fz_read_byte
Unexecuted instantiation: xps-gradient.c:fz_read_byte
Unexecuted instantiation: xps-image.c:fz_read_byte
Unexecuted instantiation: xps-outline.c:fz_read_byte
Unexecuted instantiation: svg-color.c:fz_read_byte
Unexecuted instantiation: svg-parse.c:fz_read_byte
Unexecuted instantiation: css-apply.c:fz_read_byte
Unexecuted instantiation: css-parse.c:fz_read_byte
Unexecuted instantiation: bidi-std.c:fz_read_byte
Unexecuted instantiation: compress.c:fz_read_byte
Unexecuted instantiation: crypt-aes.c:fz_read_byte
Unexecuted instantiation: crypt-arc4.c:fz_read_byte
Unexecuted instantiation: crypt-sha2.c:fz_read_byte
Unexecuted instantiation: filter-leech.c:fz_read_byte
Unexecuted instantiation: glyphbox.c:fz_read_byte
Unexecuted instantiation: stext-boxer.c:fz_read_byte
Unexecuted instantiation: stext-iterator.c:fz_read_byte
Unexecuted instantiation: stext-raft.c:fz_read_byte
Unexecuted instantiation: text-decoder.c:fz_read_byte
Unexecuted instantiation: pdf-cmap-load.c:fz_read_byte
Unexecuted instantiation: pdf-cmap-parse.c:fz_read_byte
Unexecuted instantiation: pdf-cmap.c:fz_read_byte
458
459
/**
460
  Peek at the next byte in a stream.
461
462
  stm: The stream to peek at.
463
464
  Returns -1 for EOF, or the next byte that will be read.
465
*/
466
static inline int fz_peek_byte(fz_context *ctx, fz_stream *stm)
467
4.81k
{
468
4.81k
  int c = EOF;
469
470
4.81k
  if (stm->rp != stm->wp)
471
4.81k
    return *stm->rp;
472
0
  if (stm->eof)
473
0
    return EOF;
474
475
0
  fz_try(ctx)
476
0
  {
477
0
    c = stm->next(ctx, stm, 1);
478
0
    if (c != EOF)
479
0
      stm->rp--;
480
0
  }
481
0
  fz_catch(ctx)
482
0
  {
483
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
484
0
    fz_report_error(ctx);
485
0
    fz_warn(ctx, "read error; treating as end of file");
486
0
    stm->error = 1;
487
0
    c = EOF;
488
0
  }
489
0
  if (c == EOF)
490
0
    stm->eof = 1;
491
0
  return c;
492
0
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_peek_byte(fz_context*, fz_stream*)
Unexecuted instantiation: colorspace.c:fz_peek_byte
Unexecuted instantiation: context.c:fz_peek_byte
Unexecuted instantiation: document-all.c:fz_peek_byte
Unexecuted instantiation: document.c:fz_peek_byte
Unexecuted instantiation: draw-device.c:fz_peek_byte
Unexecuted instantiation: draw-glyph.c:fz_peek_byte
Unexecuted instantiation: draw-mesh.c:fz_peek_byte
Unexecuted instantiation: draw-paint.c:fz_peek_byte
Unexecuted instantiation: draw-path.c:fz_peek_byte
Unexecuted instantiation: draw-rasterize.c:fz_peek_byte
Unexecuted instantiation: draw-scale-simple.c:fz_peek_byte
Unexecuted instantiation: error.c:fz_peek_byte
Unexecuted instantiation: font.c:fz_peek_byte
Unexecuted instantiation: geometry.c:fz_peek_byte
Unexecuted instantiation: glyph.c:fz_peek_byte
Unexecuted instantiation: gz-doc.c:fz_peek_byte
Unexecuted instantiation: hash.c:fz_peek_byte
Unexecuted instantiation: hyphen.c:fz_peek_byte
Unexecuted instantiation: image.c:fz_peek_byte
Unexecuted instantiation: link.c:fz_peek_byte
Unexecuted instantiation: list-device.c:fz_peek_byte
Unexecuted instantiation: load-bmp.c:fz_peek_byte
Unexecuted instantiation: load-gif.c:fz_peek_byte
Unexecuted instantiation: load-jbig2.c:fz_peek_byte
Unexecuted instantiation: load-jpeg.c:fz_peek_byte
Unexecuted instantiation: load-jpx.c:fz_peek_byte
Unexecuted instantiation: load-jxr.c:fz_peek_byte
Unexecuted instantiation: load-png.c:fz_peek_byte
Unexecuted instantiation: load-pnm.c:fz_peek_byte
Unexecuted instantiation: load-psd.c:fz_peek_byte
Unexecuted instantiation: load-tiff.c:fz_peek_byte
Unexecuted instantiation: memory.c:fz_peek_byte
Unexecuted instantiation: noto.c:fz_peek_byte
Unexecuted instantiation: options.c:fz_peek_byte
Unexecuted instantiation: outline.c:fz_peek_byte
Unexecuted instantiation: output.c:fz_peek_byte
Unexecuted instantiation: path.c:fz_peek_byte
Unexecuted instantiation: pixmap.c:fz_peek_byte
Unexecuted instantiation: pool.c:fz_peek_byte
Unexecuted instantiation: printf.c:fz_peek_byte
Unexecuted instantiation: random.c:fz_peek_byte
Unexecuted instantiation: separation.c:fz_peek_byte
Unexecuted instantiation: shade.c:fz_peek_byte
Unexecuted instantiation: store.c:fz_peek_byte
Unexecuted instantiation: stream-open.c:fz_peek_byte
Unexecuted instantiation: stream-read.c:fz_peek_byte
Unexecuted instantiation: string.c:fz_peek_byte
Unexecuted instantiation: strtof.c:fz_peek_byte
Unexecuted instantiation: text.c:fz_peek_byte
Unexecuted instantiation: ucdn.c:fz_peek_byte
Unexecuted instantiation: unzip.c:fz_peek_byte
Unexecuted instantiation: util.c:fz_peek_byte
Unexecuted instantiation: writer.c:fz_peek_byte
Unexecuted instantiation: pdf-write.c:fz_peek_byte
Unexecuted instantiation: pdf-xref.c:fz_peek_byte
Unexecuted instantiation: xps-doc.c:fz_peek_byte
Unexecuted instantiation: xps-link.c:fz_peek_byte
Unexecuted instantiation: xps-path.c:fz_peek_byte
Unexecuted instantiation: xps-resource.c:fz_peek_byte
Unexecuted instantiation: xps-tile.c:fz_peek_byte
Unexecuted instantiation: xps-util.c:fz_peek_byte
Unexecuted instantiation: xps-zip.c:fz_peek_byte
Unexecuted instantiation: svg-doc.c:fz_peek_byte
Unexecuted instantiation: svg-run.c:fz_peek_byte
Unexecuted instantiation: epub-doc.c:fz_peek_byte
Unexecuted instantiation: html-doc.c:fz_peek_byte
Unexecuted instantiation: html-font.c:fz_peek_byte
Unexecuted instantiation: html-layout.c:fz_peek_byte
Unexecuted instantiation: html-outline.c:fz_peek_byte
Unexecuted instantiation: html-parse.c:fz_peek_byte
Unexecuted instantiation: mobi.c:fz_peek_byte
Unexecuted instantiation: office.c:fz_peek_byte
Unexecuted instantiation: txt.c:fz_peek_byte
Unexecuted instantiation: mucbz.c:fz_peek_byte
Unexecuted instantiation: muimg.c:fz_peek_byte
Unexecuted instantiation: archive.c:fz_peek_byte
Unexecuted instantiation: bbox-device.c:fz_peek_byte
Unexecuted instantiation: bidi.c:fz_peek_byte
Unexecuted instantiation: bitmap.c:fz_peek_byte
Unexecuted instantiation: brotli.c:fz_peek_byte
Unexecuted instantiation: buffer.c:fz_peek_byte
Unexecuted instantiation: color-fast.c:fz_peek_byte
Unexecuted instantiation: color-icc-create.c:fz_peek_byte
Unexecuted instantiation: color-lcms.c:fz_peek_byte
Unexecuted instantiation: compressed-buffer.c:fz_peek_byte
Unexecuted instantiation: crypt-md5.c:fz_peek_byte
Unexecuted instantiation: device.c:fz_peek_byte
Unexecuted instantiation: directory.c:fz_peek_byte
Unexecuted instantiation: draw-affine.c:fz_peek_byte
Unexecuted instantiation: draw-blend.c:fz_peek_byte
Unexecuted instantiation: draw-edge.c:fz_peek_byte
Unexecuted instantiation: draw-edgebuffer.c:fz_peek_byte
Unexecuted instantiation: draw-unpack.c:fz_peek_byte
Unexecuted instantiation: encode-fax.c:fz_peek_byte
Unexecuted instantiation: encodings.c:fz_peek_byte
Unexecuted instantiation: filter-basic.c:fz_peek_byte
Unexecuted instantiation: filter-brotli.c:fz_peek_byte
Unexecuted instantiation: filter-dct.c:fz_peek_byte
Unexecuted instantiation: filter-fax.c:fz_peek_byte
Unexecuted instantiation: filter-flate.c:fz_peek_byte
Unexecuted instantiation: filter-jbig2.c:fz_peek_byte
Unexecuted instantiation: filter-lzw.c:fz_peek_byte
Unexecuted instantiation: filter-predict.c:fz_peek_byte
Unexecuted instantiation: filter-sgi.c:fz_peek_byte
Unexecuted instantiation: filter-thunder.c:fz_peek_byte
Unexecuted instantiation: ftoa.c:fz_peek_byte
Unexecuted instantiation: halftone.c:fz_peek_byte
Unexecuted instantiation: harfbuzz.c:fz_peek_byte
Unexecuted instantiation: output-cbz.c:fz_peek_byte
Unexecuted instantiation: output-csv.c:fz_peek_byte
Unexecuted instantiation: output-docx.c:fz_peek_byte
Unexecuted instantiation: output-jpeg.c:fz_peek_byte
Unexecuted instantiation: output-pcl.c:fz_peek_byte
Unexecuted instantiation: output-pclm.c:fz_peek_byte
Unexecuted instantiation: output-pdfocr.c:fz_peek_byte
Unexecuted instantiation: output-png.c:fz_peek_byte
Unexecuted instantiation: output-pnm.c:fz_peek_byte
Unexecuted instantiation: output-ps.c:fz_peek_byte
Unexecuted instantiation: output-pwg.c:fz_peek_byte
Unexecuted instantiation: output-svg.c:fz_peek_byte
Unexecuted instantiation: stext-device.c:fz_peek_byte
Unexecuted instantiation: stext-output.c:fz_peek_byte
Unexecuted instantiation: stext-para.c:fz_peek_byte
Unexecuted instantiation: stext-search.c:fz_peek_byte
Unexecuted instantiation: stext-table.c:fz_peek_byte
Unexecuted instantiation: svg-device.c:fz_peek_byte
Unexecuted instantiation: tree.c:fz_peek_byte
Unexecuted instantiation: uncfb.c:fz_peek_byte
Unexecuted instantiation: unlibarchive.c:fz_peek_byte
Unexecuted instantiation: untar.c:fz_peek_byte
Unexecuted instantiation: xml.c:fz_peek_byte
Unexecuted instantiation: zip.c:fz_peek_byte
Unexecuted instantiation: pdf-annot.c:fz_peek_byte
Unexecuted instantiation: pdf-appearance.c:fz_peek_byte
Unexecuted instantiation: pdf-clean.c:fz_peek_byte
Unexecuted instantiation: pdf-colorspace.c:fz_peek_byte
Unexecuted instantiation: pdf-crypt.c:fz_peek_byte
Unexecuted instantiation: pdf-device.c:fz_peek_byte
Unexecuted instantiation: pdf-event.c:fz_peek_byte
Unexecuted instantiation: pdf-font-add.c:fz_peek_byte
Unexecuted instantiation: pdf-font.c:fz_peek_byte
Unexecuted instantiation: pdf-form.c:fz_peek_byte
Unexecuted instantiation: pdf-function.c:fz_peek_byte
Unexecuted instantiation: pdf-image.c:fz_peek_byte
Unexecuted instantiation: pdf-interpret.c:fz_peek_byte
Unexecuted instantiation: pdf-js.c:fz_peek_byte
Unexecuted instantiation: pdf-label.c:fz_peek_byte
Unexecuted instantiation: pdf-layer.c:fz_peek_byte
Unexecuted instantiation: pdf-layout.c:fz_peek_byte
pdf-lex.c:fz_peek_byte
Line
Count
Source
467
4.78k
{
468
4.78k
  int c = EOF;
469
470
4.78k
  if (stm->rp != stm->wp)
471
4.78k
    return *stm->rp;
472
0
  if (stm->eof)
473
0
    return EOF;
474
475
0
  fz_try(ctx)
476
0
  {
477
0
    c = stm->next(ctx, stm, 1);
478
0
    if (c != EOF)
479
0
      stm->rp--;
480
0
  }
481
0
  fz_catch(ctx)
482
0
  {
483
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
484
0
    fz_report_error(ctx);
485
0
    fz_warn(ctx, "read error; treating as end of file");
486
0
    stm->error = 1;
487
0
    c = EOF;
488
0
  }
489
0
  if (c == EOF)
490
0
    stm->eof = 1;
491
0
  return c;
492
0
}
Unexecuted instantiation: pdf-link.c:fz_peek_byte
Unexecuted instantiation: pdf-metrics.c:fz_peek_byte
Unexecuted instantiation: pdf-nametree.c:fz_peek_byte
Unexecuted instantiation: pdf-object.c:fz_peek_byte
Unexecuted instantiation: pdf-op-buffer.c:fz_peek_byte
Unexecuted instantiation: pdf-op-filter.c:fz_peek_byte
Unexecuted instantiation: pdf-op-run.c:fz_peek_byte
Unexecuted instantiation: pdf-op-vectorize.c:fz_peek_byte
Unexecuted instantiation: pdf-outline.c:fz_peek_byte
Unexecuted instantiation: pdf-page.c:fz_peek_byte
pdf-parse.c:fz_peek_byte
Line
Count
Source
467
15
{
468
15
  int c = EOF;
469
470
15
  if (stm->rp != stm->wp)
471
15
    return *stm->rp;
472
0
  if (stm->eof)
473
0
    return EOF;
474
475
0
  fz_try(ctx)
476
0
  {
477
0
    c = stm->next(ctx, stm, 1);
478
0
    if (c != EOF)
479
0
      stm->rp--;
480
0
  }
481
0
  fz_catch(ctx)
482
0
  {
483
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
484
0
    fz_report_error(ctx);
485
0
    fz_warn(ctx, "read error; treating as end of file");
486
0
    stm->error = 1;
487
0
    c = EOF;
488
0
  }
489
0
  if (c == EOF)
490
0
    stm->eof = 1;
491
0
  return c;
492
0
}
Unexecuted instantiation: pdf-pattern.c:fz_peek_byte
pdf-repair.c:fz_peek_byte
Line
Count
Source
467
15
{
468
15
  int c = EOF;
469
470
15
  if (stm->rp != stm->wp)
471
15
    return *stm->rp;
472
0
  if (stm->eof)
473
0
    return EOF;
474
475
0
  fz_try(ctx)
476
0
  {
477
0
    c = stm->next(ctx, stm, 1);
478
0
    if (c != EOF)
479
0
      stm->rp--;
480
0
  }
481
0
  fz_catch(ctx)
482
0
  {
483
0
    fz_rethrow_if(ctx, FZ_ERROR_TRYLATER);
484
0
    fz_report_error(ctx);
485
0
    fz_warn(ctx, "read error; treating as end of file");
486
0
    stm->error = 1;
487
0
    c = EOF;
488
0
  }
489
0
  if (c == EOF)
490
0
    stm->eof = 1;
491
0
  return c;
492
0
}
Unexecuted instantiation: pdf-resources.c:fz_peek_byte
Unexecuted instantiation: pdf-run.c:fz_peek_byte
Unexecuted instantiation: pdf-shade.c:fz_peek_byte
Unexecuted instantiation: pdf-signature.c:fz_peek_byte
Unexecuted instantiation: pdf-store.c:fz_peek_byte
Unexecuted instantiation: pdf-stream.c:fz_peek_byte
Unexecuted instantiation: pdf-type3.c:fz_peek_byte
Unexecuted instantiation: pdf-unicode.c:fz_peek_byte
Unexecuted instantiation: pdf-xobject.c:fz_peek_byte
Unexecuted instantiation: xps-common.c:fz_peek_byte
Unexecuted instantiation: xps-glyphs.c:fz_peek_byte
Unexecuted instantiation: xps-gradient.c:fz_peek_byte
Unexecuted instantiation: xps-image.c:fz_peek_byte
Unexecuted instantiation: xps-outline.c:fz_peek_byte
Unexecuted instantiation: svg-color.c:fz_peek_byte
Unexecuted instantiation: svg-parse.c:fz_peek_byte
Unexecuted instantiation: css-apply.c:fz_peek_byte
Unexecuted instantiation: css-parse.c:fz_peek_byte
Unexecuted instantiation: bidi-std.c:fz_peek_byte
Unexecuted instantiation: compress.c:fz_peek_byte
Unexecuted instantiation: crypt-aes.c:fz_peek_byte
Unexecuted instantiation: crypt-arc4.c:fz_peek_byte
Unexecuted instantiation: crypt-sha2.c:fz_peek_byte
Unexecuted instantiation: filter-leech.c:fz_peek_byte
Unexecuted instantiation: glyphbox.c:fz_peek_byte
Unexecuted instantiation: stext-boxer.c:fz_peek_byte
Unexecuted instantiation: stext-iterator.c:fz_peek_byte
Unexecuted instantiation: stext-raft.c:fz_peek_byte
Unexecuted instantiation: text-decoder.c:fz_peek_byte
Unexecuted instantiation: pdf-cmap-load.c:fz_peek_byte
Unexecuted instantiation: pdf-cmap-parse.c:fz_peek_byte
Unexecuted instantiation: pdf-cmap.c:fz_peek_byte
493
494
/**
495
  Unread the single last byte successfully
496
  read from a stream. Do not call this without having
497
  successfully read a byte.
498
499
  stm: The stream to operate upon.
500
*/
501
static inline void fz_unread_byte(fz_context *ctx FZ_UNUSED, fz_stream *stm)
502
1.29M
{
503
1.29M
  stm->rp--;
504
1.29M
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_unread_byte(fz_context*, fz_stream*)
Unexecuted instantiation: colorspace.c:fz_unread_byte
Unexecuted instantiation: context.c:fz_unread_byte
Unexecuted instantiation: document-all.c:fz_unread_byte
Unexecuted instantiation: document.c:fz_unread_byte
Unexecuted instantiation: draw-device.c:fz_unread_byte
Unexecuted instantiation: draw-glyph.c:fz_unread_byte
Unexecuted instantiation: draw-mesh.c:fz_unread_byte
Unexecuted instantiation: draw-paint.c:fz_unread_byte
Unexecuted instantiation: draw-path.c:fz_unread_byte
Unexecuted instantiation: draw-rasterize.c:fz_unread_byte
Unexecuted instantiation: draw-scale-simple.c:fz_unread_byte
Unexecuted instantiation: error.c:fz_unread_byte
Unexecuted instantiation: font.c:fz_unread_byte
Unexecuted instantiation: geometry.c:fz_unread_byte
Unexecuted instantiation: glyph.c:fz_unread_byte
Unexecuted instantiation: gz-doc.c:fz_unread_byte
Unexecuted instantiation: hash.c:fz_unread_byte
Unexecuted instantiation: hyphen.c:fz_unread_byte
Unexecuted instantiation: image.c:fz_unread_byte
Unexecuted instantiation: link.c:fz_unread_byte
Unexecuted instantiation: list-device.c:fz_unread_byte
Unexecuted instantiation: load-bmp.c:fz_unread_byte
Unexecuted instantiation: load-gif.c:fz_unread_byte
Unexecuted instantiation: load-jbig2.c:fz_unread_byte
Unexecuted instantiation: load-jpeg.c:fz_unread_byte
Unexecuted instantiation: load-jpx.c:fz_unread_byte
Unexecuted instantiation: load-jxr.c:fz_unread_byte
Unexecuted instantiation: load-png.c:fz_unread_byte
Unexecuted instantiation: load-pnm.c:fz_unread_byte
Unexecuted instantiation: load-psd.c:fz_unread_byte
Unexecuted instantiation: load-tiff.c:fz_unread_byte
Unexecuted instantiation: memory.c:fz_unread_byte
Unexecuted instantiation: noto.c:fz_unread_byte
Unexecuted instantiation: options.c:fz_unread_byte
Unexecuted instantiation: outline.c:fz_unread_byte
Unexecuted instantiation: output.c:fz_unread_byte
Unexecuted instantiation: path.c:fz_unread_byte
Unexecuted instantiation: pixmap.c:fz_unread_byte
Unexecuted instantiation: pool.c:fz_unread_byte
Unexecuted instantiation: printf.c:fz_unread_byte
Unexecuted instantiation: random.c:fz_unread_byte
Unexecuted instantiation: separation.c:fz_unread_byte
Unexecuted instantiation: shade.c:fz_unread_byte
Unexecuted instantiation: store.c:fz_unread_byte
Unexecuted instantiation: stream-open.c:fz_unread_byte
Unexecuted instantiation: stream-read.c:fz_unread_byte
Unexecuted instantiation: string.c:fz_unread_byte
Unexecuted instantiation: strtof.c:fz_unread_byte
Unexecuted instantiation: text.c:fz_unread_byte
Unexecuted instantiation: ucdn.c:fz_unread_byte
Unexecuted instantiation: unzip.c:fz_unread_byte
Unexecuted instantiation: util.c:fz_unread_byte
Unexecuted instantiation: writer.c:fz_unread_byte
Unexecuted instantiation: pdf-write.c:fz_unread_byte
Unexecuted instantiation: pdf-xref.c:fz_unread_byte
Unexecuted instantiation: xps-doc.c:fz_unread_byte
Unexecuted instantiation: xps-link.c:fz_unread_byte
Unexecuted instantiation: xps-path.c:fz_unread_byte
Unexecuted instantiation: xps-resource.c:fz_unread_byte
Unexecuted instantiation: xps-tile.c:fz_unread_byte
Unexecuted instantiation: xps-util.c:fz_unread_byte
Unexecuted instantiation: xps-zip.c:fz_unread_byte
Unexecuted instantiation: svg-doc.c:fz_unread_byte
Unexecuted instantiation: svg-run.c:fz_unread_byte
Unexecuted instantiation: epub-doc.c:fz_unread_byte
Unexecuted instantiation: html-doc.c:fz_unread_byte
Unexecuted instantiation: html-font.c:fz_unread_byte
Unexecuted instantiation: html-layout.c:fz_unread_byte
Unexecuted instantiation: html-outline.c:fz_unread_byte
Unexecuted instantiation: html-parse.c:fz_unread_byte
Unexecuted instantiation: mobi.c:fz_unread_byte
Unexecuted instantiation: office.c:fz_unread_byte
Unexecuted instantiation: txt.c:fz_unread_byte
Unexecuted instantiation: mucbz.c:fz_unread_byte
Unexecuted instantiation: muimg.c:fz_unread_byte
Unexecuted instantiation: archive.c:fz_unread_byte
Unexecuted instantiation: bbox-device.c:fz_unread_byte
Unexecuted instantiation: bidi.c:fz_unread_byte
Unexecuted instantiation: bitmap.c:fz_unread_byte
Unexecuted instantiation: brotli.c:fz_unread_byte
Unexecuted instantiation: buffer.c:fz_unread_byte
Unexecuted instantiation: color-fast.c:fz_unread_byte
Unexecuted instantiation: color-icc-create.c:fz_unread_byte
Unexecuted instantiation: color-lcms.c:fz_unread_byte
Unexecuted instantiation: compressed-buffer.c:fz_unread_byte
Unexecuted instantiation: crypt-md5.c:fz_unread_byte
Unexecuted instantiation: device.c:fz_unread_byte
Unexecuted instantiation: directory.c:fz_unread_byte
Unexecuted instantiation: draw-affine.c:fz_unread_byte
Unexecuted instantiation: draw-blend.c:fz_unread_byte
Unexecuted instantiation: draw-edge.c:fz_unread_byte
Unexecuted instantiation: draw-edgebuffer.c:fz_unread_byte
Unexecuted instantiation: draw-unpack.c:fz_unread_byte
Unexecuted instantiation: encode-fax.c:fz_unread_byte
Unexecuted instantiation: encodings.c:fz_unread_byte
Unexecuted instantiation: filter-basic.c:fz_unread_byte
Unexecuted instantiation: filter-brotli.c:fz_unread_byte
Unexecuted instantiation: filter-dct.c:fz_unread_byte
Unexecuted instantiation: filter-fax.c:fz_unread_byte
Unexecuted instantiation: filter-flate.c:fz_unread_byte
Unexecuted instantiation: filter-jbig2.c:fz_unread_byte
Unexecuted instantiation: filter-lzw.c:fz_unread_byte
Unexecuted instantiation: filter-predict.c:fz_unread_byte
Unexecuted instantiation: filter-sgi.c:fz_unread_byte
Unexecuted instantiation: filter-thunder.c:fz_unread_byte
Unexecuted instantiation: ftoa.c:fz_unread_byte
Unexecuted instantiation: halftone.c:fz_unread_byte
Unexecuted instantiation: harfbuzz.c:fz_unread_byte
Unexecuted instantiation: output-cbz.c:fz_unread_byte
Unexecuted instantiation: output-csv.c:fz_unread_byte
Unexecuted instantiation: output-docx.c:fz_unread_byte
Unexecuted instantiation: output-jpeg.c:fz_unread_byte
Unexecuted instantiation: output-pcl.c:fz_unread_byte
Unexecuted instantiation: output-pclm.c:fz_unread_byte
Unexecuted instantiation: output-pdfocr.c:fz_unread_byte
Unexecuted instantiation: output-png.c:fz_unread_byte
Unexecuted instantiation: output-pnm.c:fz_unread_byte
Unexecuted instantiation: output-ps.c:fz_unread_byte
Unexecuted instantiation: output-pwg.c:fz_unread_byte
Unexecuted instantiation: output-svg.c:fz_unread_byte
Unexecuted instantiation: stext-device.c:fz_unread_byte
Unexecuted instantiation: stext-output.c:fz_unread_byte
Unexecuted instantiation: stext-para.c:fz_unread_byte
Unexecuted instantiation: stext-search.c:fz_unread_byte
Unexecuted instantiation: stext-table.c:fz_unread_byte
Unexecuted instantiation: svg-device.c:fz_unread_byte
Unexecuted instantiation: tree.c:fz_unread_byte
Unexecuted instantiation: uncfb.c:fz_unread_byte
Unexecuted instantiation: unlibarchive.c:fz_unread_byte
Unexecuted instantiation: untar.c:fz_unread_byte
Unexecuted instantiation: xml.c:fz_unread_byte
Unexecuted instantiation: zip.c:fz_unread_byte
Unexecuted instantiation: pdf-annot.c:fz_unread_byte
Unexecuted instantiation: pdf-appearance.c:fz_unread_byte
Unexecuted instantiation: pdf-clean.c:fz_unread_byte
Unexecuted instantiation: pdf-colorspace.c:fz_unread_byte
Unexecuted instantiation: pdf-crypt.c:fz_unread_byte
Unexecuted instantiation: pdf-device.c:fz_unread_byte
Unexecuted instantiation: pdf-event.c:fz_unread_byte
Unexecuted instantiation: pdf-font-add.c:fz_unread_byte
Unexecuted instantiation: pdf-font.c:fz_unread_byte
Unexecuted instantiation: pdf-form.c:fz_unread_byte
Unexecuted instantiation: pdf-function.c:fz_unread_byte
Unexecuted instantiation: pdf-image.c:fz_unread_byte
Unexecuted instantiation: pdf-interpret.c:fz_unread_byte
Unexecuted instantiation: pdf-js.c:fz_unread_byte
Unexecuted instantiation: pdf-label.c:fz_unread_byte
Unexecuted instantiation: pdf-layer.c:fz_unread_byte
Unexecuted instantiation: pdf-layout.c:fz_unread_byte
pdf-lex.c:fz_unread_byte
Line
Count
Source
502
1.29M
{
503
1.29M
  stm->rp--;
504
1.29M
}
Unexecuted instantiation: pdf-link.c:fz_unread_byte
Unexecuted instantiation: pdf-metrics.c:fz_unread_byte
Unexecuted instantiation: pdf-nametree.c:fz_unread_byte
Unexecuted instantiation: pdf-object.c:fz_unread_byte
Unexecuted instantiation: pdf-op-buffer.c:fz_unread_byte
Unexecuted instantiation: pdf-op-filter.c:fz_unread_byte
Unexecuted instantiation: pdf-op-run.c:fz_unread_byte
Unexecuted instantiation: pdf-op-vectorize.c:fz_unread_byte
Unexecuted instantiation: pdf-outline.c:fz_unread_byte
Unexecuted instantiation: pdf-page.c:fz_unread_byte
Unexecuted instantiation: pdf-parse.c:fz_unread_byte
Unexecuted instantiation: pdf-pattern.c:fz_unread_byte
pdf-repair.c:fz_unread_byte
Line
Count
Source
502
10
{
503
10
  stm->rp--;
504
10
}
Unexecuted instantiation: pdf-resources.c:fz_unread_byte
Unexecuted instantiation: pdf-run.c:fz_unread_byte
Unexecuted instantiation: pdf-shade.c:fz_unread_byte
Unexecuted instantiation: pdf-signature.c:fz_unread_byte
Unexecuted instantiation: pdf-store.c:fz_unread_byte
Unexecuted instantiation: pdf-stream.c:fz_unread_byte
Unexecuted instantiation: pdf-type3.c:fz_unread_byte
Unexecuted instantiation: pdf-unicode.c:fz_unread_byte
Unexecuted instantiation: pdf-xobject.c:fz_unread_byte
Unexecuted instantiation: xps-common.c:fz_unread_byte
Unexecuted instantiation: xps-glyphs.c:fz_unread_byte
Unexecuted instantiation: xps-gradient.c:fz_unread_byte
Unexecuted instantiation: xps-image.c:fz_unread_byte
Unexecuted instantiation: xps-outline.c:fz_unread_byte
Unexecuted instantiation: svg-color.c:fz_unread_byte
Unexecuted instantiation: svg-parse.c:fz_unread_byte
Unexecuted instantiation: css-apply.c:fz_unread_byte
Unexecuted instantiation: css-parse.c:fz_unread_byte
Unexecuted instantiation: bidi-std.c:fz_unread_byte
Unexecuted instantiation: compress.c:fz_unread_byte
Unexecuted instantiation: crypt-aes.c:fz_unread_byte
Unexecuted instantiation: crypt-arc4.c:fz_unread_byte
Unexecuted instantiation: crypt-sha2.c:fz_unread_byte
Unexecuted instantiation: filter-leech.c:fz_unread_byte
Unexecuted instantiation: glyphbox.c:fz_unread_byte
Unexecuted instantiation: stext-boxer.c:fz_unread_byte
Unexecuted instantiation: stext-iterator.c:fz_unread_byte
Unexecuted instantiation: stext-raft.c:fz_unread_byte
Unexecuted instantiation: text-decoder.c:fz_unread_byte
Unexecuted instantiation: pdf-cmap-load.c:fz_unread_byte
Unexecuted instantiation: pdf-cmap-parse.c:fz_unread_byte
Unexecuted instantiation: pdf-cmap.c:fz_unread_byte
505
506
/**
507
  Query if the stream has reached EOF (during normal bytewise
508
  reading).
509
510
  See fz_is_eof_bits for the equivalent function for bitwise
511
  reading.
512
*/
513
static inline int fz_is_eof(fz_context *ctx, fz_stream *stm)
514
0
{
515
0
  if (stm->rp == stm->wp)
516
0
  {
517
0
    if (stm->eof)
518
0
      return 1;
519
0
    return fz_peek_byte(ctx, stm) == EOF;
520
0
  }
521
0
  return 0;
522
0
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_is_eof(fz_context*, fz_stream*)
Unexecuted instantiation: colorspace.c:fz_is_eof
Unexecuted instantiation: context.c:fz_is_eof
Unexecuted instantiation: document-all.c:fz_is_eof
Unexecuted instantiation: document.c:fz_is_eof
Unexecuted instantiation: draw-device.c:fz_is_eof
Unexecuted instantiation: draw-glyph.c:fz_is_eof
Unexecuted instantiation: draw-mesh.c:fz_is_eof
Unexecuted instantiation: draw-paint.c:fz_is_eof
Unexecuted instantiation: draw-path.c:fz_is_eof
Unexecuted instantiation: draw-rasterize.c:fz_is_eof
Unexecuted instantiation: draw-scale-simple.c:fz_is_eof
Unexecuted instantiation: error.c:fz_is_eof
Unexecuted instantiation: font.c:fz_is_eof
Unexecuted instantiation: geometry.c:fz_is_eof
Unexecuted instantiation: glyph.c:fz_is_eof
Unexecuted instantiation: gz-doc.c:fz_is_eof
Unexecuted instantiation: hash.c:fz_is_eof
Unexecuted instantiation: hyphen.c:fz_is_eof
Unexecuted instantiation: image.c:fz_is_eof
Unexecuted instantiation: link.c:fz_is_eof
Unexecuted instantiation: list-device.c:fz_is_eof
Unexecuted instantiation: load-bmp.c:fz_is_eof
Unexecuted instantiation: load-gif.c:fz_is_eof
Unexecuted instantiation: load-jbig2.c:fz_is_eof
Unexecuted instantiation: load-jpeg.c:fz_is_eof
Unexecuted instantiation: load-jpx.c:fz_is_eof
Unexecuted instantiation: load-jxr.c:fz_is_eof
Unexecuted instantiation: load-png.c:fz_is_eof
Unexecuted instantiation: load-pnm.c:fz_is_eof
Unexecuted instantiation: load-psd.c:fz_is_eof
Unexecuted instantiation: load-tiff.c:fz_is_eof
Unexecuted instantiation: memory.c:fz_is_eof
Unexecuted instantiation: noto.c:fz_is_eof
Unexecuted instantiation: options.c:fz_is_eof
Unexecuted instantiation: outline.c:fz_is_eof
Unexecuted instantiation: output.c:fz_is_eof
Unexecuted instantiation: path.c:fz_is_eof
Unexecuted instantiation: pixmap.c:fz_is_eof
Unexecuted instantiation: pool.c:fz_is_eof
Unexecuted instantiation: printf.c:fz_is_eof
Unexecuted instantiation: random.c:fz_is_eof
Unexecuted instantiation: separation.c:fz_is_eof
Unexecuted instantiation: shade.c:fz_is_eof
Unexecuted instantiation: store.c:fz_is_eof
Unexecuted instantiation: stream-open.c:fz_is_eof
Unexecuted instantiation: stream-read.c:fz_is_eof
Unexecuted instantiation: string.c:fz_is_eof
Unexecuted instantiation: strtof.c:fz_is_eof
Unexecuted instantiation: text.c:fz_is_eof
Unexecuted instantiation: ucdn.c:fz_is_eof
Unexecuted instantiation: unzip.c:fz_is_eof
Unexecuted instantiation: util.c:fz_is_eof
Unexecuted instantiation: writer.c:fz_is_eof
Unexecuted instantiation: pdf-write.c:fz_is_eof
Unexecuted instantiation: pdf-xref.c:fz_is_eof
Unexecuted instantiation: xps-doc.c:fz_is_eof
Unexecuted instantiation: xps-link.c:fz_is_eof
Unexecuted instantiation: xps-path.c:fz_is_eof
Unexecuted instantiation: xps-resource.c:fz_is_eof
Unexecuted instantiation: xps-tile.c:fz_is_eof
Unexecuted instantiation: xps-util.c:fz_is_eof
Unexecuted instantiation: xps-zip.c:fz_is_eof
Unexecuted instantiation: svg-doc.c:fz_is_eof
Unexecuted instantiation: svg-run.c:fz_is_eof
Unexecuted instantiation: epub-doc.c:fz_is_eof
Unexecuted instantiation: html-doc.c:fz_is_eof
Unexecuted instantiation: html-font.c:fz_is_eof
Unexecuted instantiation: html-layout.c:fz_is_eof
Unexecuted instantiation: html-outline.c:fz_is_eof
Unexecuted instantiation: html-parse.c:fz_is_eof
Unexecuted instantiation: mobi.c:fz_is_eof
Unexecuted instantiation: office.c:fz_is_eof
Unexecuted instantiation: txt.c:fz_is_eof
Unexecuted instantiation: mucbz.c:fz_is_eof
Unexecuted instantiation: muimg.c:fz_is_eof
Unexecuted instantiation: archive.c:fz_is_eof
Unexecuted instantiation: bbox-device.c:fz_is_eof
Unexecuted instantiation: bidi.c:fz_is_eof
Unexecuted instantiation: bitmap.c:fz_is_eof
Unexecuted instantiation: brotli.c:fz_is_eof
Unexecuted instantiation: buffer.c:fz_is_eof
Unexecuted instantiation: color-fast.c:fz_is_eof
Unexecuted instantiation: color-icc-create.c:fz_is_eof
Unexecuted instantiation: color-lcms.c:fz_is_eof
Unexecuted instantiation: compressed-buffer.c:fz_is_eof
Unexecuted instantiation: crypt-md5.c:fz_is_eof
Unexecuted instantiation: device.c:fz_is_eof
Unexecuted instantiation: directory.c:fz_is_eof
Unexecuted instantiation: draw-affine.c:fz_is_eof
Unexecuted instantiation: draw-blend.c:fz_is_eof
Unexecuted instantiation: draw-edge.c:fz_is_eof
Unexecuted instantiation: draw-edgebuffer.c:fz_is_eof
Unexecuted instantiation: draw-unpack.c:fz_is_eof
Unexecuted instantiation: encode-fax.c:fz_is_eof
Unexecuted instantiation: encodings.c:fz_is_eof
Unexecuted instantiation: filter-basic.c:fz_is_eof
Unexecuted instantiation: filter-brotli.c:fz_is_eof
Unexecuted instantiation: filter-dct.c:fz_is_eof
Unexecuted instantiation: filter-fax.c:fz_is_eof
Unexecuted instantiation: filter-flate.c:fz_is_eof
Unexecuted instantiation: filter-jbig2.c:fz_is_eof
Unexecuted instantiation: filter-lzw.c:fz_is_eof
Unexecuted instantiation: filter-predict.c:fz_is_eof
Unexecuted instantiation: filter-sgi.c:fz_is_eof
Unexecuted instantiation: filter-thunder.c:fz_is_eof
Unexecuted instantiation: ftoa.c:fz_is_eof
Unexecuted instantiation: halftone.c:fz_is_eof
Unexecuted instantiation: harfbuzz.c:fz_is_eof
Unexecuted instantiation: output-cbz.c:fz_is_eof
Unexecuted instantiation: output-csv.c:fz_is_eof
Unexecuted instantiation: output-docx.c:fz_is_eof
Unexecuted instantiation: output-jpeg.c:fz_is_eof
Unexecuted instantiation: output-pcl.c:fz_is_eof
Unexecuted instantiation: output-pclm.c:fz_is_eof
Unexecuted instantiation: output-pdfocr.c:fz_is_eof
Unexecuted instantiation: output-png.c:fz_is_eof
Unexecuted instantiation: output-pnm.c:fz_is_eof
Unexecuted instantiation: output-ps.c:fz_is_eof
Unexecuted instantiation: output-pwg.c:fz_is_eof
Unexecuted instantiation: output-svg.c:fz_is_eof
Unexecuted instantiation: stext-device.c:fz_is_eof
Unexecuted instantiation: stext-output.c:fz_is_eof
Unexecuted instantiation: stext-para.c:fz_is_eof
Unexecuted instantiation: stext-search.c:fz_is_eof
Unexecuted instantiation: stext-table.c:fz_is_eof
Unexecuted instantiation: svg-device.c:fz_is_eof
Unexecuted instantiation: tree.c:fz_is_eof
Unexecuted instantiation: uncfb.c:fz_is_eof
Unexecuted instantiation: unlibarchive.c:fz_is_eof
Unexecuted instantiation: untar.c:fz_is_eof
Unexecuted instantiation: xml.c:fz_is_eof
Unexecuted instantiation: zip.c:fz_is_eof
Unexecuted instantiation: pdf-annot.c:fz_is_eof
Unexecuted instantiation: pdf-appearance.c:fz_is_eof
Unexecuted instantiation: pdf-clean.c:fz_is_eof
Unexecuted instantiation: pdf-colorspace.c:fz_is_eof
Unexecuted instantiation: pdf-crypt.c:fz_is_eof
Unexecuted instantiation: pdf-device.c:fz_is_eof
Unexecuted instantiation: pdf-event.c:fz_is_eof
Unexecuted instantiation: pdf-font-add.c:fz_is_eof
Unexecuted instantiation: pdf-font.c:fz_is_eof
Unexecuted instantiation: pdf-form.c:fz_is_eof
Unexecuted instantiation: pdf-function.c:fz_is_eof
Unexecuted instantiation: pdf-image.c:fz_is_eof
Unexecuted instantiation: pdf-interpret.c:fz_is_eof
Unexecuted instantiation: pdf-js.c:fz_is_eof
Unexecuted instantiation: pdf-label.c:fz_is_eof
Unexecuted instantiation: pdf-layer.c:fz_is_eof
Unexecuted instantiation: pdf-layout.c:fz_is_eof
Unexecuted instantiation: pdf-lex.c:fz_is_eof
Unexecuted instantiation: pdf-link.c:fz_is_eof
Unexecuted instantiation: pdf-metrics.c:fz_is_eof
Unexecuted instantiation: pdf-nametree.c:fz_is_eof
Unexecuted instantiation: pdf-object.c:fz_is_eof
Unexecuted instantiation: pdf-op-buffer.c:fz_is_eof
Unexecuted instantiation: pdf-op-filter.c:fz_is_eof
Unexecuted instantiation: pdf-op-run.c:fz_is_eof
Unexecuted instantiation: pdf-op-vectorize.c:fz_is_eof
Unexecuted instantiation: pdf-outline.c:fz_is_eof
Unexecuted instantiation: pdf-page.c:fz_is_eof
Unexecuted instantiation: pdf-parse.c:fz_is_eof
Unexecuted instantiation: pdf-pattern.c:fz_is_eof
Unexecuted instantiation: pdf-repair.c:fz_is_eof
Unexecuted instantiation: pdf-resources.c:fz_is_eof
Unexecuted instantiation: pdf-run.c:fz_is_eof
Unexecuted instantiation: pdf-shade.c:fz_is_eof
Unexecuted instantiation: pdf-signature.c:fz_is_eof
Unexecuted instantiation: pdf-store.c:fz_is_eof
Unexecuted instantiation: pdf-stream.c:fz_is_eof
Unexecuted instantiation: pdf-type3.c:fz_is_eof
Unexecuted instantiation: pdf-unicode.c:fz_is_eof
Unexecuted instantiation: pdf-xobject.c:fz_is_eof
Unexecuted instantiation: xps-common.c:fz_is_eof
Unexecuted instantiation: xps-glyphs.c:fz_is_eof
Unexecuted instantiation: xps-gradient.c:fz_is_eof
Unexecuted instantiation: xps-image.c:fz_is_eof
Unexecuted instantiation: xps-outline.c:fz_is_eof
Unexecuted instantiation: svg-color.c:fz_is_eof
Unexecuted instantiation: svg-parse.c:fz_is_eof
Unexecuted instantiation: css-apply.c:fz_is_eof
Unexecuted instantiation: css-parse.c:fz_is_eof
Unexecuted instantiation: bidi-std.c:fz_is_eof
Unexecuted instantiation: compress.c:fz_is_eof
Unexecuted instantiation: crypt-aes.c:fz_is_eof
Unexecuted instantiation: crypt-arc4.c:fz_is_eof
Unexecuted instantiation: crypt-sha2.c:fz_is_eof
Unexecuted instantiation: filter-leech.c:fz_is_eof
Unexecuted instantiation: glyphbox.c:fz_is_eof
Unexecuted instantiation: stext-boxer.c:fz_is_eof
Unexecuted instantiation: stext-iterator.c:fz_is_eof
Unexecuted instantiation: stext-raft.c:fz_is_eof
Unexecuted instantiation: text-decoder.c:fz_is_eof
Unexecuted instantiation: pdf-cmap-load.c:fz_is_eof
Unexecuted instantiation: pdf-cmap-parse.c:fz_is_eof
Unexecuted instantiation: pdf-cmap.c:fz_is_eof
523
524
/**
525
  Read the next n bits from a stream (assumed to
526
  be packed most significant bit first).
527
528
  stm: The stream to read from.
529
530
  n: The number of bits to read, between 1 and 8*sizeof(int)
531
  inclusive.
532
533
  Returns -1 for EOF, or the required number of bits.
534
*/
535
static inline unsigned int fz_read_bits(fz_context *ctx, fz_stream *stm, int n)
536
0
{
537
0
  int x;
538
539
0
  if (n <= stm->avail)
540
0
  {
541
0
    stm->avail -= n;
542
0
    x = (stm->bits >> stm->avail) & ((1 << n) - 1);
543
0
  }
544
0
  else
545
0
  {
546
0
    x = stm->bits & ((1 << stm->avail) - 1);
547
0
    n -= stm->avail;
548
0
    stm->avail = 0;
549
550
0
    while (n > 8)
551
0
    {
552
0
      x = (x << 8) | fz_read_byte(ctx, stm);
553
0
      n -= 8;
554
0
    }
555
556
0
    if (n > 0)
557
0
    {
558
0
      stm->bits = fz_read_byte(ctx, stm);
559
0
      stm->avail = 8 - n;
560
0
      x = (x << n) | (stm->bits >> stm->avail);
561
0
    }
562
0
  }
563
564
0
  return x;
565
0
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_read_bits(fz_context*, fz_stream*, int)
Unexecuted instantiation: colorspace.c:fz_read_bits
Unexecuted instantiation: context.c:fz_read_bits
Unexecuted instantiation: document-all.c:fz_read_bits
Unexecuted instantiation: document.c:fz_read_bits
Unexecuted instantiation: draw-device.c:fz_read_bits
Unexecuted instantiation: draw-glyph.c:fz_read_bits
Unexecuted instantiation: draw-mesh.c:fz_read_bits
Unexecuted instantiation: draw-paint.c:fz_read_bits
Unexecuted instantiation: draw-path.c:fz_read_bits
Unexecuted instantiation: draw-rasterize.c:fz_read_bits
Unexecuted instantiation: draw-scale-simple.c:fz_read_bits
Unexecuted instantiation: error.c:fz_read_bits
Unexecuted instantiation: font.c:fz_read_bits
Unexecuted instantiation: geometry.c:fz_read_bits
Unexecuted instantiation: glyph.c:fz_read_bits
Unexecuted instantiation: gz-doc.c:fz_read_bits
Unexecuted instantiation: hash.c:fz_read_bits
Unexecuted instantiation: hyphen.c:fz_read_bits
Unexecuted instantiation: image.c:fz_read_bits
Unexecuted instantiation: link.c:fz_read_bits
Unexecuted instantiation: list-device.c:fz_read_bits
Unexecuted instantiation: load-bmp.c:fz_read_bits
Unexecuted instantiation: load-gif.c:fz_read_bits
Unexecuted instantiation: load-jbig2.c:fz_read_bits
Unexecuted instantiation: load-jpeg.c:fz_read_bits
Unexecuted instantiation: load-jpx.c:fz_read_bits
Unexecuted instantiation: load-jxr.c:fz_read_bits
Unexecuted instantiation: load-png.c:fz_read_bits
Unexecuted instantiation: load-pnm.c:fz_read_bits
Unexecuted instantiation: load-psd.c:fz_read_bits
Unexecuted instantiation: load-tiff.c:fz_read_bits
Unexecuted instantiation: memory.c:fz_read_bits
Unexecuted instantiation: noto.c:fz_read_bits
Unexecuted instantiation: options.c:fz_read_bits
Unexecuted instantiation: outline.c:fz_read_bits
Unexecuted instantiation: output.c:fz_read_bits
Unexecuted instantiation: path.c:fz_read_bits
Unexecuted instantiation: pixmap.c:fz_read_bits
Unexecuted instantiation: pool.c:fz_read_bits
Unexecuted instantiation: printf.c:fz_read_bits
Unexecuted instantiation: random.c:fz_read_bits
Unexecuted instantiation: separation.c:fz_read_bits
Unexecuted instantiation: shade.c:fz_read_bits
Unexecuted instantiation: store.c:fz_read_bits
Unexecuted instantiation: stream-open.c:fz_read_bits
Unexecuted instantiation: stream-read.c:fz_read_bits
Unexecuted instantiation: string.c:fz_read_bits
Unexecuted instantiation: strtof.c:fz_read_bits
Unexecuted instantiation: text.c:fz_read_bits
Unexecuted instantiation: ucdn.c:fz_read_bits
Unexecuted instantiation: unzip.c:fz_read_bits
Unexecuted instantiation: util.c:fz_read_bits
Unexecuted instantiation: writer.c:fz_read_bits
Unexecuted instantiation: pdf-write.c:fz_read_bits
Unexecuted instantiation: pdf-xref.c:fz_read_bits
Unexecuted instantiation: xps-doc.c:fz_read_bits
Unexecuted instantiation: xps-link.c:fz_read_bits
Unexecuted instantiation: xps-path.c:fz_read_bits
Unexecuted instantiation: xps-resource.c:fz_read_bits
Unexecuted instantiation: xps-tile.c:fz_read_bits
Unexecuted instantiation: xps-util.c:fz_read_bits
Unexecuted instantiation: xps-zip.c:fz_read_bits
Unexecuted instantiation: svg-doc.c:fz_read_bits
Unexecuted instantiation: svg-run.c:fz_read_bits
Unexecuted instantiation: epub-doc.c:fz_read_bits
Unexecuted instantiation: html-doc.c:fz_read_bits
Unexecuted instantiation: html-font.c:fz_read_bits
Unexecuted instantiation: html-layout.c:fz_read_bits
Unexecuted instantiation: html-outline.c:fz_read_bits
Unexecuted instantiation: html-parse.c:fz_read_bits
Unexecuted instantiation: mobi.c:fz_read_bits
Unexecuted instantiation: office.c:fz_read_bits
Unexecuted instantiation: txt.c:fz_read_bits
Unexecuted instantiation: mucbz.c:fz_read_bits
Unexecuted instantiation: muimg.c:fz_read_bits
Unexecuted instantiation: archive.c:fz_read_bits
Unexecuted instantiation: bbox-device.c:fz_read_bits
Unexecuted instantiation: bidi.c:fz_read_bits
Unexecuted instantiation: bitmap.c:fz_read_bits
Unexecuted instantiation: brotli.c:fz_read_bits
Unexecuted instantiation: buffer.c:fz_read_bits
Unexecuted instantiation: color-fast.c:fz_read_bits
Unexecuted instantiation: color-icc-create.c:fz_read_bits
Unexecuted instantiation: color-lcms.c:fz_read_bits
Unexecuted instantiation: compressed-buffer.c:fz_read_bits
Unexecuted instantiation: crypt-md5.c:fz_read_bits
Unexecuted instantiation: device.c:fz_read_bits
Unexecuted instantiation: directory.c:fz_read_bits
Unexecuted instantiation: draw-affine.c:fz_read_bits
Unexecuted instantiation: draw-blend.c:fz_read_bits
Unexecuted instantiation: draw-edge.c:fz_read_bits
Unexecuted instantiation: draw-edgebuffer.c:fz_read_bits
Unexecuted instantiation: draw-unpack.c:fz_read_bits
Unexecuted instantiation: encode-fax.c:fz_read_bits
Unexecuted instantiation: encodings.c:fz_read_bits
Unexecuted instantiation: filter-basic.c:fz_read_bits
Unexecuted instantiation: filter-brotli.c:fz_read_bits
Unexecuted instantiation: filter-dct.c:fz_read_bits
Unexecuted instantiation: filter-fax.c:fz_read_bits
Unexecuted instantiation: filter-flate.c:fz_read_bits
Unexecuted instantiation: filter-jbig2.c:fz_read_bits
Unexecuted instantiation: filter-lzw.c:fz_read_bits
Unexecuted instantiation: filter-predict.c:fz_read_bits
Unexecuted instantiation: filter-sgi.c:fz_read_bits
Unexecuted instantiation: filter-thunder.c:fz_read_bits
Unexecuted instantiation: ftoa.c:fz_read_bits
Unexecuted instantiation: halftone.c:fz_read_bits
Unexecuted instantiation: harfbuzz.c:fz_read_bits
Unexecuted instantiation: output-cbz.c:fz_read_bits
Unexecuted instantiation: output-csv.c:fz_read_bits
Unexecuted instantiation: output-docx.c:fz_read_bits
Unexecuted instantiation: output-jpeg.c:fz_read_bits
Unexecuted instantiation: output-pcl.c:fz_read_bits
Unexecuted instantiation: output-pclm.c:fz_read_bits
Unexecuted instantiation: output-pdfocr.c:fz_read_bits
Unexecuted instantiation: output-png.c:fz_read_bits
Unexecuted instantiation: output-pnm.c:fz_read_bits
Unexecuted instantiation: output-ps.c:fz_read_bits
Unexecuted instantiation: output-pwg.c:fz_read_bits
Unexecuted instantiation: output-svg.c:fz_read_bits
Unexecuted instantiation: stext-device.c:fz_read_bits
Unexecuted instantiation: stext-output.c:fz_read_bits
Unexecuted instantiation: stext-para.c:fz_read_bits
Unexecuted instantiation: stext-search.c:fz_read_bits
Unexecuted instantiation: stext-table.c:fz_read_bits
Unexecuted instantiation: svg-device.c:fz_read_bits
Unexecuted instantiation: tree.c:fz_read_bits
Unexecuted instantiation: uncfb.c:fz_read_bits
Unexecuted instantiation: unlibarchive.c:fz_read_bits
Unexecuted instantiation: untar.c:fz_read_bits
Unexecuted instantiation: xml.c:fz_read_bits
Unexecuted instantiation: zip.c:fz_read_bits
Unexecuted instantiation: pdf-annot.c:fz_read_bits
Unexecuted instantiation: pdf-appearance.c:fz_read_bits
Unexecuted instantiation: pdf-clean.c:fz_read_bits
Unexecuted instantiation: pdf-colorspace.c:fz_read_bits
Unexecuted instantiation: pdf-crypt.c:fz_read_bits
Unexecuted instantiation: pdf-device.c:fz_read_bits
Unexecuted instantiation: pdf-event.c:fz_read_bits
Unexecuted instantiation: pdf-font-add.c:fz_read_bits
Unexecuted instantiation: pdf-font.c:fz_read_bits
Unexecuted instantiation: pdf-form.c:fz_read_bits
Unexecuted instantiation: pdf-function.c:fz_read_bits
Unexecuted instantiation: pdf-image.c:fz_read_bits
Unexecuted instantiation: pdf-interpret.c:fz_read_bits
Unexecuted instantiation: pdf-js.c:fz_read_bits
Unexecuted instantiation: pdf-label.c:fz_read_bits
Unexecuted instantiation: pdf-layer.c:fz_read_bits
Unexecuted instantiation: pdf-layout.c:fz_read_bits
Unexecuted instantiation: pdf-lex.c:fz_read_bits
Unexecuted instantiation: pdf-link.c:fz_read_bits
Unexecuted instantiation: pdf-metrics.c:fz_read_bits
Unexecuted instantiation: pdf-nametree.c:fz_read_bits
Unexecuted instantiation: pdf-object.c:fz_read_bits
Unexecuted instantiation: pdf-op-buffer.c:fz_read_bits
Unexecuted instantiation: pdf-op-filter.c:fz_read_bits
Unexecuted instantiation: pdf-op-run.c:fz_read_bits
Unexecuted instantiation: pdf-op-vectorize.c:fz_read_bits
Unexecuted instantiation: pdf-outline.c:fz_read_bits
Unexecuted instantiation: pdf-page.c:fz_read_bits
Unexecuted instantiation: pdf-parse.c:fz_read_bits
Unexecuted instantiation: pdf-pattern.c:fz_read_bits
Unexecuted instantiation: pdf-repair.c:fz_read_bits
Unexecuted instantiation: pdf-resources.c:fz_read_bits
Unexecuted instantiation: pdf-run.c:fz_read_bits
Unexecuted instantiation: pdf-shade.c:fz_read_bits
Unexecuted instantiation: pdf-signature.c:fz_read_bits
Unexecuted instantiation: pdf-store.c:fz_read_bits
Unexecuted instantiation: pdf-stream.c:fz_read_bits
Unexecuted instantiation: pdf-type3.c:fz_read_bits
Unexecuted instantiation: pdf-unicode.c:fz_read_bits
Unexecuted instantiation: pdf-xobject.c:fz_read_bits
Unexecuted instantiation: xps-common.c:fz_read_bits
Unexecuted instantiation: xps-glyphs.c:fz_read_bits
Unexecuted instantiation: xps-gradient.c:fz_read_bits
Unexecuted instantiation: xps-image.c:fz_read_bits
Unexecuted instantiation: xps-outline.c:fz_read_bits
Unexecuted instantiation: svg-color.c:fz_read_bits
Unexecuted instantiation: svg-parse.c:fz_read_bits
Unexecuted instantiation: css-apply.c:fz_read_bits
Unexecuted instantiation: css-parse.c:fz_read_bits
Unexecuted instantiation: bidi-std.c:fz_read_bits
Unexecuted instantiation: compress.c:fz_read_bits
Unexecuted instantiation: crypt-aes.c:fz_read_bits
Unexecuted instantiation: crypt-arc4.c:fz_read_bits
Unexecuted instantiation: crypt-sha2.c:fz_read_bits
Unexecuted instantiation: filter-leech.c:fz_read_bits
Unexecuted instantiation: glyphbox.c:fz_read_bits
Unexecuted instantiation: stext-boxer.c:fz_read_bits
Unexecuted instantiation: stext-iterator.c:fz_read_bits
Unexecuted instantiation: stext-raft.c:fz_read_bits
Unexecuted instantiation: text-decoder.c:fz_read_bits
Unexecuted instantiation: pdf-cmap-load.c:fz_read_bits
Unexecuted instantiation: pdf-cmap-parse.c:fz_read_bits
Unexecuted instantiation: pdf-cmap.c:fz_read_bits
566
567
/**
568
  Read the next n bits from a stream (assumed to
569
  be packed least significant bit first).
570
571
  stm: The stream to read from.
572
573
  n: The number of bits to read, between 1 and 8*sizeof(int)
574
  inclusive.
575
576
  Returns (unsigned int)-1 for EOF, or the required number of bits.
577
*/
578
static inline unsigned int fz_read_rbits(fz_context *ctx, fz_stream *stm, int n)
579
0
{
580
0
  int x;
581
582
0
  if (n <= stm->avail)
583
0
  {
584
0
    x = stm->bits & ((1 << n) - 1);
585
0
    stm->avail -= n;
586
0
    stm->bits = stm->bits >> n;
587
0
  }
588
0
  else
589
0
  {
590
0
    unsigned int used = 0;
591
592
0
    x = stm->bits & ((1 << stm->avail) - 1);
593
0
    n -= stm->avail;
594
0
    used = stm->avail;
595
0
    stm->avail = 0;
596
597
0
    while (n > 8)
598
0
    {
599
0
      x = (fz_read_byte(ctx, stm) << used) | x;
600
0
      n -= 8;
601
0
      used += 8;
602
0
    }
603
604
0
    if (n > 0)
605
0
    {
606
0
      stm->bits = fz_read_byte(ctx, stm);
607
0
      x = ((stm->bits & ((1 << n) - 1)) << used) | x;
608
0
      stm->avail = 8 - n;
609
0
      stm->bits = stm->bits >> n;
610
0
    }
611
0
  }
612
613
0
  return x;
614
0
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_read_rbits(fz_context*, fz_stream*, int)
Unexecuted instantiation: colorspace.c:fz_read_rbits
Unexecuted instantiation: context.c:fz_read_rbits
Unexecuted instantiation: document-all.c:fz_read_rbits
Unexecuted instantiation: document.c:fz_read_rbits
Unexecuted instantiation: draw-device.c:fz_read_rbits
Unexecuted instantiation: draw-glyph.c:fz_read_rbits
Unexecuted instantiation: draw-mesh.c:fz_read_rbits
Unexecuted instantiation: draw-paint.c:fz_read_rbits
Unexecuted instantiation: draw-path.c:fz_read_rbits
Unexecuted instantiation: draw-rasterize.c:fz_read_rbits
Unexecuted instantiation: draw-scale-simple.c:fz_read_rbits
Unexecuted instantiation: error.c:fz_read_rbits
Unexecuted instantiation: font.c:fz_read_rbits
Unexecuted instantiation: geometry.c:fz_read_rbits
Unexecuted instantiation: glyph.c:fz_read_rbits
Unexecuted instantiation: gz-doc.c:fz_read_rbits
Unexecuted instantiation: hash.c:fz_read_rbits
Unexecuted instantiation: hyphen.c:fz_read_rbits
Unexecuted instantiation: image.c:fz_read_rbits
Unexecuted instantiation: link.c:fz_read_rbits
Unexecuted instantiation: list-device.c:fz_read_rbits
Unexecuted instantiation: load-bmp.c:fz_read_rbits
Unexecuted instantiation: load-gif.c:fz_read_rbits
Unexecuted instantiation: load-jbig2.c:fz_read_rbits
Unexecuted instantiation: load-jpeg.c:fz_read_rbits
Unexecuted instantiation: load-jpx.c:fz_read_rbits
Unexecuted instantiation: load-jxr.c:fz_read_rbits
Unexecuted instantiation: load-png.c:fz_read_rbits
Unexecuted instantiation: load-pnm.c:fz_read_rbits
Unexecuted instantiation: load-psd.c:fz_read_rbits
Unexecuted instantiation: load-tiff.c:fz_read_rbits
Unexecuted instantiation: memory.c:fz_read_rbits
Unexecuted instantiation: noto.c:fz_read_rbits
Unexecuted instantiation: options.c:fz_read_rbits
Unexecuted instantiation: outline.c:fz_read_rbits
Unexecuted instantiation: output.c:fz_read_rbits
Unexecuted instantiation: path.c:fz_read_rbits
Unexecuted instantiation: pixmap.c:fz_read_rbits
Unexecuted instantiation: pool.c:fz_read_rbits
Unexecuted instantiation: printf.c:fz_read_rbits
Unexecuted instantiation: random.c:fz_read_rbits
Unexecuted instantiation: separation.c:fz_read_rbits
Unexecuted instantiation: shade.c:fz_read_rbits
Unexecuted instantiation: store.c:fz_read_rbits
Unexecuted instantiation: stream-open.c:fz_read_rbits
Unexecuted instantiation: stream-read.c:fz_read_rbits
Unexecuted instantiation: string.c:fz_read_rbits
Unexecuted instantiation: strtof.c:fz_read_rbits
Unexecuted instantiation: text.c:fz_read_rbits
Unexecuted instantiation: ucdn.c:fz_read_rbits
Unexecuted instantiation: unzip.c:fz_read_rbits
Unexecuted instantiation: util.c:fz_read_rbits
Unexecuted instantiation: writer.c:fz_read_rbits
Unexecuted instantiation: pdf-write.c:fz_read_rbits
Unexecuted instantiation: pdf-xref.c:fz_read_rbits
Unexecuted instantiation: xps-doc.c:fz_read_rbits
Unexecuted instantiation: xps-link.c:fz_read_rbits
Unexecuted instantiation: xps-path.c:fz_read_rbits
Unexecuted instantiation: xps-resource.c:fz_read_rbits
Unexecuted instantiation: xps-tile.c:fz_read_rbits
Unexecuted instantiation: xps-util.c:fz_read_rbits
Unexecuted instantiation: xps-zip.c:fz_read_rbits
Unexecuted instantiation: svg-doc.c:fz_read_rbits
Unexecuted instantiation: svg-run.c:fz_read_rbits
Unexecuted instantiation: epub-doc.c:fz_read_rbits
Unexecuted instantiation: html-doc.c:fz_read_rbits
Unexecuted instantiation: html-font.c:fz_read_rbits
Unexecuted instantiation: html-layout.c:fz_read_rbits
Unexecuted instantiation: html-outline.c:fz_read_rbits
Unexecuted instantiation: html-parse.c:fz_read_rbits
Unexecuted instantiation: mobi.c:fz_read_rbits
Unexecuted instantiation: office.c:fz_read_rbits
Unexecuted instantiation: txt.c:fz_read_rbits
Unexecuted instantiation: mucbz.c:fz_read_rbits
Unexecuted instantiation: muimg.c:fz_read_rbits
Unexecuted instantiation: archive.c:fz_read_rbits
Unexecuted instantiation: bbox-device.c:fz_read_rbits
Unexecuted instantiation: bidi.c:fz_read_rbits
Unexecuted instantiation: bitmap.c:fz_read_rbits
Unexecuted instantiation: brotli.c:fz_read_rbits
Unexecuted instantiation: buffer.c:fz_read_rbits
Unexecuted instantiation: color-fast.c:fz_read_rbits
Unexecuted instantiation: color-icc-create.c:fz_read_rbits
Unexecuted instantiation: color-lcms.c:fz_read_rbits
Unexecuted instantiation: compressed-buffer.c:fz_read_rbits
Unexecuted instantiation: crypt-md5.c:fz_read_rbits
Unexecuted instantiation: device.c:fz_read_rbits
Unexecuted instantiation: directory.c:fz_read_rbits
Unexecuted instantiation: draw-affine.c:fz_read_rbits
Unexecuted instantiation: draw-blend.c:fz_read_rbits
Unexecuted instantiation: draw-edge.c:fz_read_rbits
Unexecuted instantiation: draw-edgebuffer.c:fz_read_rbits
Unexecuted instantiation: draw-unpack.c:fz_read_rbits
Unexecuted instantiation: encode-fax.c:fz_read_rbits
Unexecuted instantiation: encodings.c:fz_read_rbits
Unexecuted instantiation: filter-basic.c:fz_read_rbits
Unexecuted instantiation: filter-brotli.c:fz_read_rbits
Unexecuted instantiation: filter-dct.c:fz_read_rbits
Unexecuted instantiation: filter-fax.c:fz_read_rbits
Unexecuted instantiation: filter-flate.c:fz_read_rbits
Unexecuted instantiation: filter-jbig2.c:fz_read_rbits
Unexecuted instantiation: filter-lzw.c:fz_read_rbits
Unexecuted instantiation: filter-predict.c:fz_read_rbits
Unexecuted instantiation: filter-sgi.c:fz_read_rbits
Unexecuted instantiation: filter-thunder.c:fz_read_rbits
Unexecuted instantiation: ftoa.c:fz_read_rbits
Unexecuted instantiation: halftone.c:fz_read_rbits
Unexecuted instantiation: harfbuzz.c:fz_read_rbits
Unexecuted instantiation: output-cbz.c:fz_read_rbits
Unexecuted instantiation: output-csv.c:fz_read_rbits
Unexecuted instantiation: output-docx.c:fz_read_rbits
Unexecuted instantiation: output-jpeg.c:fz_read_rbits
Unexecuted instantiation: output-pcl.c:fz_read_rbits
Unexecuted instantiation: output-pclm.c:fz_read_rbits
Unexecuted instantiation: output-pdfocr.c:fz_read_rbits
Unexecuted instantiation: output-png.c:fz_read_rbits
Unexecuted instantiation: output-pnm.c:fz_read_rbits
Unexecuted instantiation: output-ps.c:fz_read_rbits
Unexecuted instantiation: output-pwg.c:fz_read_rbits
Unexecuted instantiation: output-svg.c:fz_read_rbits
Unexecuted instantiation: stext-device.c:fz_read_rbits
Unexecuted instantiation: stext-output.c:fz_read_rbits
Unexecuted instantiation: stext-para.c:fz_read_rbits
Unexecuted instantiation: stext-search.c:fz_read_rbits
Unexecuted instantiation: stext-table.c:fz_read_rbits
Unexecuted instantiation: svg-device.c:fz_read_rbits
Unexecuted instantiation: tree.c:fz_read_rbits
Unexecuted instantiation: uncfb.c:fz_read_rbits
Unexecuted instantiation: unlibarchive.c:fz_read_rbits
Unexecuted instantiation: untar.c:fz_read_rbits
Unexecuted instantiation: xml.c:fz_read_rbits
Unexecuted instantiation: zip.c:fz_read_rbits
Unexecuted instantiation: pdf-annot.c:fz_read_rbits
Unexecuted instantiation: pdf-appearance.c:fz_read_rbits
Unexecuted instantiation: pdf-clean.c:fz_read_rbits
Unexecuted instantiation: pdf-colorspace.c:fz_read_rbits
Unexecuted instantiation: pdf-crypt.c:fz_read_rbits
Unexecuted instantiation: pdf-device.c:fz_read_rbits
Unexecuted instantiation: pdf-event.c:fz_read_rbits
Unexecuted instantiation: pdf-font-add.c:fz_read_rbits
Unexecuted instantiation: pdf-font.c:fz_read_rbits
Unexecuted instantiation: pdf-form.c:fz_read_rbits
Unexecuted instantiation: pdf-function.c:fz_read_rbits
Unexecuted instantiation: pdf-image.c:fz_read_rbits
Unexecuted instantiation: pdf-interpret.c:fz_read_rbits
Unexecuted instantiation: pdf-js.c:fz_read_rbits
Unexecuted instantiation: pdf-label.c:fz_read_rbits
Unexecuted instantiation: pdf-layer.c:fz_read_rbits
Unexecuted instantiation: pdf-layout.c:fz_read_rbits
Unexecuted instantiation: pdf-lex.c:fz_read_rbits
Unexecuted instantiation: pdf-link.c:fz_read_rbits
Unexecuted instantiation: pdf-metrics.c:fz_read_rbits
Unexecuted instantiation: pdf-nametree.c:fz_read_rbits
Unexecuted instantiation: pdf-object.c:fz_read_rbits
Unexecuted instantiation: pdf-op-buffer.c:fz_read_rbits
Unexecuted instantiation: pdf-op-filter.c:fz_read_rbits
Unexecuted instantiation: pdf-op-run.c:fz_read_rbits
Unexecuted instantiation: pdf-op-vectorize.c:fz_read_rbits
Unexecuted instantiation: pdf-outline.c:fz_read_rbits
Unexecuted instantiation: pdf-page.c:fz_read_rbits
Unexecuted instantiation: pdf-parse.c:fz_read_rbits
Unexecuted instantiation: pdf-pattern.c:fz_read_rbits
Unexecuted instantiation: pdf-repair.c:fz_read_rbits
Unexecuted instantiation: pdf-resources.c:fz_read_rbits
Unexecuted instantiation: pdf-run.c:fz_read_rbits
Unexecuted instantiation: pdf-shade.c:fz_read_rbits
Unexecuted instantiation: pdf-signature.c:fz_read_rbits
Unexecuted instantiation: pdf-store.c:fz_read_rbits
Unexecuted instantiation: pdf-stream.c:fz_read_rbits
Unexecuted instantiation: pdf-type3.c:fz_read_rbits
Unexecuted instantiation: pdf-unicode.c:fz_read_rbits
Unexecuted instantiation: pdf-xobject.c:fz_read_rbits
Unexecuted instantiation: xps-common.c:fz_read_rbits
Unexecuted instantiation: xps-glyphs.c:fz_read_rbits
Unexecuted instantiation: xps-gradient.c:fz_read_rbits
Unexecuted instantiation: xps-image.c:fz_read_rbits
Unexecuted instantiation: xps-outline.c:fz_read_rbits
Unexecuted instantiation: svg-color.c:fz_read_rbits
Unexecuted instantiation: svg-parse.c:fz_read_rbits
Unexecuted instantiation: css-apply.c:fz_read_rbits
Unexecuted instantiation: css-parse.c:fz_read_rbits
Unexecuted instantiation: bidi-std.c:fz_read_rbits
Unexecuted instantiation: compress.c:fz_read_rbits
Unexecuted instantiation: crypt-aes.c:fz_read_rbits
Unexecuted instantiation: crypt-arc4.c:fz_read_rbits
Unexecuted instantiation: crypt-sha2.c:fz_read_rbits
Unexecuted instantiation: filter-leech.c:fz_read_rbits
Unexecuted instantiation: glyphbox.c:fz_read_rbits
Unexecuted instantiation: stext-boxer.c:fz_read_rbits
Unexecuted instantiation: stext-iterator.c:fz_read_rbits
Unexecuted instantiation: stext-raft.c:fz_read_rbits
Unexecuted instantiation: text-decoder.c:fz_read_rbits
Unexecuted instantiation: pdf-cmap-load.c:fz_read_rbits
Unexecuted instantiation: pdf-cmap-parse.c:fz_read_rbits
Unexecuted instantiation: pdf-cmap.c:fz_read_rbits
615
616
/**
617
  Called after reading bits to tell the stream
618
  that we are about to return to reading bytewise. Resyncs
619
  the stream to whole byte boundaries.
620
*/
621
static inline void fz_sync_bits(fz_context *ctx FZ_UNUSED, fz_stream *stm)
622
0
{
623
0
  stm->avail = 0;
624
0
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_sync_bits(fz_context*, fz_stream*)
Unexecuted instantiation: colorspace.c:fz_sync_bits
Unexecuted instantiation: context.c:fz_sync_bits
Unexecuted instantiation: document-all.c:fz_sync_bits
Unexecuted instantiation: document.c:fz_sync_bits
Unexecuted instantiation: draw-device.c:fz_sync_bits
Unexecuted instantiation: draw-glyph.c:fz_sync_bits
Unexecuted instantiation: draw-mesh.c:fz_sync_bits
Unexecuted instantiation: draw-paint.c:fz_sync_bits
Unexecuted instantiation: draw-path.c:fz_sync_bits
Unexecuted instantiation: draw-rasterize.c:fz_sync_bits
Unexecuted instantiation: draw-scale-simple.c:fz_sync_bits
Unexecuted instantiation: error.c:fz_sync_bits
Unexecuted instantiation: font.c:fz_sync_bits
Unexecuted instantiation: geometry.c:fz_sync_bits
Unexecuted instantiation: glyph.c:fz_sync_bits
Unexecuted instantiation: gz-doc.c:fz_sync_bits
Unexecuted instantiation: hash.c:fz_sync_bits
Unexecuted instantiation: hyphen.c:fz_sync_bits
Unexecuted instantiation: image.c:fz_sync_bits
Unexecuted instantiation: link.c:fz_sync_bits
Unexecuted instantiation: list-device.c:fz_sync_bits
Unexecuted instantiation: load-bmp.c:fz_sync_bits
Unexecuted instantiation: load-gif.c:fz_sync_bits
Unexecuted instantiation: load-jbig2.c:fz_sync_bits
Unexecuted instantiation: load-jpeg.c:fz_sync_bits
Unexecuted instantiation: load-jpx.c:fz_sync_bits
Unexecuted instantiation: load-jxr.c:fz_sync_bits
Unexecuted instantiation: load-png.c:fz_sync_bits
Unexecuted instantiation: load-pnm.c:fz_sync_bits
Unexecuted instantiation: load-psd.c:fz_sync_bits
Unexecuted instantiation: load-tiff.c:fz_sync_bits
Unexecuted instantiation: memory.c:fz_sync_bits
Unexecuted instantiation: noto.c:fz_sync_bits
Unexecuted instantiation: options.c:fz_sync_bits
Unexecuted instantiation: outline.c:fz_sync_bits
Unexecuted instantiation: output.c:fz_sync_bits
Unexecuted instantiation: path.c:fz_sync_bits
Unexecuted instantiation: pixmap.c:fz_sync_bits
Unexecuted instantiation: pool.c:fz_sync_bits
Unexecuted instantiation: printf.c:fz_sync_bits
Unexecuted instantiation: random.c:fz_sync_bits
Unexecuted instantiation: separation.c:fz_sync_bits
Unexecuted instantiation: shade.c:fz_sync_bits
Unexecuted instantiation: store.c:fz_sync_bits
Unexecuted instantiation: stream-open.c:fz_sync_bits
Unexecuted instantiation: stream-read.c:fz_sync_bits
Unexecuted instantiation: string.c:fz_sync_bits
Unexecuted instantiation: strtof.c:fz_sync_bits
Unexecuted instantiation: text.c:fz_sync_bits
Unexecuted instantiation: ucdn.c:fz_sync_bits
Unexecuted instantiation: unzip.c:fz_sync_bits
Unexecuted instantiation: util.c:fz_sync_bits
Unexecuted instantiation: writer.c:fz_sync_bits
Unexecuted instantiation: pdf-write.c:fz_sync_bits
Unexecuted instantiation: pdf-xref.c:fz_sync_bits
Unexecuted instantiation: xps-doc.c:fz_sync_bits
Unexecuted instantiation: xps-link.c:fz_sync_bits
Unexecuted instantiation: xps-path.c:fz_sync_bits
Unexecuted instantiation: xps-resource.c:fz_sync_bits
Unexecuted instantiation: xps-tile.c:fz_sync_bits
Unexecuted instantiation: xps-util.c:fz_sync_bits
Unexecuted instantiation: xps-zip.c:fz_sync_bits
Unexecuted instantiation: svg-doc.c:fz_sync_bits
Unexecuted instantiation: svg-run.c:fz_sync_bits
Unexecuted instantiation: epub-doc.c:fz_sync_bits
Unexecuted instantiation: html-doc.c:fz_sync_bits
Unexecuted instantiation: html-font.c:fz_sync_bits
Unexecuted instantiation: html-layout.c:fz_sync_bits
Unexecuted instantiation: html-outline.c:fz_sync_bits
Unexecuted instantiation: html-parse.c:fz_sync_bits
Unexecuted instantiation: mobi.c:fz_sync_bits
Unexecuted instantiation: office.c:fz_sync_bits
Unexecuted instantiation: txt.c:fz_sync_bits
Unexecuted instantiation: mucbz.c:fz_sync_bits
Unexecuted instantiation: muimg.c:fz_sync_bits
Unexecuted instantiation: archive.c:fz_sync_bits
Unexecuted instantiation: bbox-device.c:fz_sync_bits
Unexecuted instantiation: bidi.c:fz_sync_bits
Unexecuted instantiation: bitmap.c:fz_sync_bits
Unexecuted instantiation: brotli.c:fz_sync_bits
Unexecuted instantiation: buffer.c:fz_sync_bits
Unexecuted instantiation: color-fast.c:fz_sync_bits
Unexecuted instantiation: color-icc-create.c:fz_sync_bits
Unexecuted instantiation: color-lcms.c:fz_sync_bits
Unexecuted instantiation: compressed-buffer.c:fz_sync_bits
Unexecuted instantiation: crypt-md5.c:fz_sync_bits
Unexecuted instantiation: device.c:fz_sync_bits
Unexecuted instantiation: directory.c:fz_sync_bits
Unexecuted instantiation: draw-affine.c:fz_sync_bits
Unexecuted instantiation: draw-blend.c:fz_sync_bits
Unexecuted instantiation: draw-edge.c:fz_sync_bits
Unexecuted instantiation: draw-edgebuffer.c:fz_sync_bits
Unexecuted instantiation: draw-unpack.c:fz_sync_bits
Unexecuted instantiation: encode-fax.c:fz_sync_bits
Unexecuted instantiation: encodings.c:fz_sync_bits
Unexecuted instantiation: filter-basic.c:fz_sync_bits
Unexecuted instantiation: filter-brotli.c:fz_sync_bits
Unexecuted instantiation: filter-dct.c:fz_sync_bits
Unexecuted instantiation: filter-fax.c:fz_sync_bits
Unexecuted instantiation: filter-flate.c:fz_sync_bits
Unexecuted instantiation: filter-jbig2.c:fz_sync_bits
Unexecuted instantiation: filter-lzw.c:fz_sync_bits
Unexecuted instantiation: filter-predict.c:fz_sync_bits
Unexecuted instantiation: filter-sgi.c:fz_sync_bits
Unexecuted instantiation: filter-thunder.c:fz_sync_bits
Unexecuted instantiation: ftoa.c:fz_sync_bits
Unexecuted instantiation: halftone.c:fz_sync_bits
Unexecuted instantiation: harfbuzz.c:fz_sync_bits
Unexecuted instantiation: output-cbz.c:fz_sync_bits
Unexecuted instantiation: output-csv.c:fz_sync_bits
Unexecuted instantiation: output-docx.c:fz_sync_bits
Unexecuted instantiation: output-jpeg.c:fz_sync_bits
Unexecuted instantiation: output-pcl.c:fz_sync_bits
Unexecuted instantiation: output-pclm.c:fz_sync_bits
Unexecuted instantiation: output-pdfocr.c:fz_sync_bits
Unexecuted instantiation: output-png.c:fz_sync_bits
Unexecuted instantiation: output-pnm.c:fz_sync_bits
Unexecuted instantiation: output-ps.c:fz_sync_bits
Unexecuted instantiation: output-pwg.c:fz_sync_bits
Unexecuted instantiation: output-svg.c:fz_sync_bits
Unexecuted instantiation: stext-device.c:fz_sync_bits
Unexecuted instantiation: stext-output.c:fz_sync_bits
Unexecuted instantiation: stext-para.c:fz_sync_bits
Unexecuted instantiation: stext-search.c:fz_sync_bits
Unexecuted instantiation: stext-table.c:fz_sync_bits
Unexecuted instantiation: svg-device.c:fz_sync_bits
Unexecuted instantiation: tree.c:fz_sync_bits
Unexecuted instantiation: uncfb.c:fz_sync_bits
Unexecuted instantiation: unlibarchive.c:fz_sync_bits
Unexecuted instantiation: untar.c:fz_sync_bits
Unexecuted instantiation: xml.c:fz_sync_bits
Unexecuted instantiation: zip.c:fz_sync_bits
Unexecuted instantiation: pdf-annot.c:fz_sync_bits
Unexecuted instantiation: pdf-appearance.c:fz_sync_bits
Unexecuted instantiation: pdf-clean.c:fz_sync_bits
Unexecuted instantiation: pdf-colorspace.c:fz_sync_bits
Unexecuted instantiation: pdf-crypt.c:fz_sync_bits
Unexecuted instantiation: pdf-device.c:fz_sync_bits
Unexecuted instantiation: pdf-event.c:fz_sync_bits
Unexecuted instantiation: pdf-font-add.c:fz_sync_bits
Unexecuted instantiation: pdf-font.c:fz_sync_bits
Unexecuted instantiation: pdf-form.c:fz_sync_bits
Unexecuted instantiation: pdf-function.c:fz_sync_bits
Unexecuted instantiation: pdf-image.c:fz_sync_bits
Unexecuted instantiation: pdf-interpret.c:fz_sync_bits
Unexecuted instantiation: pdf-js.c:fz_sync_bits
Unexecuted instantiation: pdf-label.c:fz_sync_bits
Unexecuted instantiation: pdf-layer.c:fz_sync_bits
Unexecuted instantiation: pdf-layout.c:fz_sync_bits
Unexecuted instantiation: pdf-lex.c:fz_sync_bits
Unexecuted instantiation: pdf-link.c:fz_sync_bits
Unexecuted instantiation: pdf-metrics.c:fz_sync_bits
Unexecuted instantiation: pdf-nametree.c:fz_sync_bits
Unexecuted instantiation: pdf-object.c:fz_sync_bits
Unexecuted instantiation: pdf-op-buffer.c:fz_sync_bits
Unexecuted instantiation: pdf-op-filter.c:fz_sync_bits
Unexecuted instantiation: pdf-op-run.c:fz_sync_bits
Unexecuted instantiation: pdf-op-vectorize.c:fz_sync_bits
Unexecuted instantiation: pdf-outline.c:fz_sync_bits
Unexecuted instantiation: pdf-page.c:fz_sync_bits
Unexecuted instantiation: pdf-parse.c:fz_sync_bits
Unexecuted instantiation: pdf-pattern.c:fz_sync_bits
Unexecuted instantiation: pdf-repair.c:fz_sync_bits
Unexecuted instantiation: pdf-resources.c:fz_sync_bits
Unexecuted instantiation: pdf-run.c:fz_sync_bits
Unexecuted instantiation: pdf-shade.c:fz_sync_bits
Unexecuted instantiation: pdf-signature.c:fz_sync_bits
Unexecuted instantiation: pdf-store.c:fz_sync_bits
Unexecuted instantiation: pdf-stream.c:fz_sync_bits
Unexecuted instantiation: pdf-type3.c:fz_sync_bits
Unexecuted instantiation: pdf-unicode.c:fz_sync_bits
Unexecuted instantiation: pdf-xobject.c:fz_sync_bits
Unexecuted instantiation: xps-common.c:fz_sync_bits
Unexecuted instantiation: xps-glyphs.c:fz_sync_bits
Unexecuted instantiation: xps-gradient.c:fz_sync_bits
Unexecuted instantiation: xps-image.c:fz_sync_bits
Unexecuted instantiation: xps-outline.c:fz_sync_bits
Unexecuted instantiation: svg-color.c:fz_sync_bits
Unexecuted instantiation: svg-parse.c:fz_sync_bits
Unexecuted instantiation: css-apply.c:fz_sync_bits
Unexecuted instantiation: css-parse.c:fz_sync_bits
Unexecuted instantiation: bidi-std.c:fz_sync_bits
Unexecuted instantiation: compress.c:fz_sync_bits
Unexecuted instantiation: crypt-aes.c:fz_sync_bits
Unexecuted instantiation: crypt-arc4.c:fz_sync_bits
Unexecuted instantiation: crypt-sha2.c:fz_sync_bits
Unexecuted instantiation: filter-leech.c:fz_sync_bits
Unexecuted instantiation: glyphbox.c:fz_sync_bits
Unexecuted instantiation: stext-boxer.c:fz_sync_bits
Unexecuted instantiation: stext-iterator.c:fz_sync_bits
Unexecuted instantiation: stext-raft.c:fz_sync_bits
Unexecuted instantiation: text-decoder.c:fz_sync_bits
Unexecuted instantiation: pdf-cmap-load.c:fz_sync_bits
Unexecuted instantiation: pdf-cmap-parse.c:fz_sync_bits
Unexecuted instantiation: pdf-cmap.c:fz_sync_bits
625
626
/**
627
  Query if the stream has reached EOF (during bitwise
628
  reading).
629
630
  See fz_is_eof for the equivalent function for bytewise
631
  reading.
632
*/
633
static inline int fz_is_eof_bits(fz_context *ctx, fz_stream *stm)
634
0
{
635
0
  return fz_is_eof(ctx, stm) && (stm->avail == 0 || stm->bits == EOF);
636
0
}
Unexecuted instantiation: pdf_fuzzer.cc:fz_is_eof_bits(fz_context*, fz_stream*)
Unexecuted instantiation: colorspace.c:fz_is_eof_bits
Unexecuted instantiation: context.c:fz_is_eof_bits
Unexecuted instantiation: document-all.c:fz_is_eof_bits
Unexecuted instantiation: document.c:fz_is_eof_bits
Unexecuted instantiation: draw-device.c:fz_is_eof_bits
Unexecuted instantiation: draw-glyph.c:fz_is_eof_bits
Unexecuted instantiation: draw-mesh.c:fz_is_eof_bits
Unexecuted instantiation: draw-paint.c:fz_is_eof_bits
Unexecuted instantiation: draw-path.c:fz_is_eof_bits
Unexecuted instantiation: draw-rasterize.c:fz_is_eof_bits
Unexecuted instantiation: draw-scale-simple.c:fz_is_eof_bits
Unexecuted instantiation: error.c:fz_is_eof_bits
Unexecuted instantiation: font.c:fz_is_eof_bits
Unexecuted instantiation: geometry.c:fz_is_eof_bits
Unexecuted instantiation: glyph.c:fz_is_eof_bits
Unexecuted instantiation: gz-doc.c:fz_is_eof_bits
Unexecuted instantiation: hash.c:fz_is_eof_bits
Unexecuted instantiation: hyphen.c:fz_is_eof_bits
Unexecuted instantiation: image.c:fz_is_eof_bits
Unexecuted instantiation: link.c:fz_is_eof_bits
Unexecuted instantiation: list-device.c:fz_is_eof_bits
Unexecuted instantiation: load-bmp.c:fz_is_eof_bits
Unexecuted instantiation: load-gif.c:fz_is_eof_bits
Unexecuted instantiation: load-jbig2.c:fz_is_eof_bits
Unexecuted instantiation: load-jpeg.c:fz_is_eof_bits
Unexecuted instantiation: load-jpx.c:fz_is_eof_bits
Unexecuted instantiation: load-jxr.c:fz_is_eof_bits
Unexecuted instantiation: load-png.c:fz_is_eof_bits
Unexecuted instantiation: load-pnm.c:fz_is_eof_bits
Unexecuted instantiation: load-psd.c:fz_is_eof_bits
Unexecuted instantiation: load-tiff.c:fz_is_eof_bits
Unexecuted instantiation: memory.c:fz_is_eof_bits
Unexecuted instantiation: noto.c:fz_is_eof_bits
Unexecuted instantiation: options.c:fz_is_eof_bits
Unexecuted instantiation: outline.c:fz_is_eof_bits
Unexecuted instantiation: output.c:fz_is_eof_bits
Unexecuted instantiation: path.c:fz_is_eof_bits
Unexecuted instantiation: pixmap.c:fz_is_eof_bits
Unexecuted instantiation: pool.c:fz_is_eof_bits
Unexecuted instantiation: printf.c:fz_is_eof_bits
Unexecuted instantiation: random.c:fz_is_eof_bits
Unexecuted instantiation: separation.c:fz_is_eof_bits
Unexecuted instantiation: shade.c:fz_is_eof_bits
Unexecuted instantiation: store.c:fz_is_eof_bits
Unexecuted instantiation: stream-open.c:fz_is_eof_bits
Unexecuted instantiation: stream-read.c:fz_is_eof_bits
Unexecuted instantiation: string.c:fz_is_eof_bits
Unexecuted instantiation: strtof.c:fz_is_eof_bits
Unexecuted instantiation: text.c:fz_is_eof_bits
Unexecuted instantiation: ucdn.c:fz_is_eof_bits
Unexecuted instantiation: unzip.c:fz_is_eof_bits
Unexecuted instantiation: util.c:fz_is_eof_bits
Unexecuted instantiation: writer.c:fz_is_eof_bits
Unexecuted instantiation: pdf-write.c:fz_is_eof_bits
Unexecuted instantiation: pdf-xref.c:fz_is_eof_bits
Unexecuted instantiation: xps-doc.c:fz_is_eof_bits
Unexecuted instantiation: xps-link.c:fz_is_eof_bits
Unexecuted instantiation: xps-path.c:fz_is_eof_bits
Unexecuted instantiation: xps-resource.c:fz_is_eof_bits
Unexecuted instantiation: xps-tile.c:fz_is_eof_bits
Unexecuted instantiation: xps-util.c:fz_is_eof_bits
Unexecuted instantiation: xps-zip.c:fz_is_eof_bits
Unexecuted instantiation: svg-doc.c:fz_is_eof_bits
Unexecuted instantiation: svg-run.c:fz_is_eof_bits
Unexecuted instantiation: epub-doc.c:fz_is_eof_bits
Unexecuted instantiation: html-doc.c:fz_is_eof_bits
Unexecuted instantiation: html-font.c:fz_is_eof_bits
Unexecuted instantiation: html-layout.c:fz_is_eof_bits
Unexecuted instantiation: html-outline.c:fz_is_eof_bits
Unexecuted instantiation: html-parse.c:fz_is_eof_bits
Unexecuted instantiation: mobi.c:fz_is_eof_bits
Unexecuted instantiation: office.c:fz_is_eof_bits
Unexecuted instantiation: txt.c:fz_is_eof_bits
Unexecuted instantiation: mucbz.c:fz_is_eof_bits
Unexecuted instantiation: muimg.c:fz_is_eof_bits
Unexecuted instantiation: archive.c:fz_is_eof_bits
Unexecuted instantiation: bbox-device.c:fz_is_eof_bits
Unexecuted instantiation: bidi.c:fz_is_eof_bits
Unexecuted instantiation: bitmap.c:fz_is_eof_bits
Unexecuted instantiation: brotli.c:fz_is_eof_bits
Unexecuted instantiation: buffer.c:fz_is_eof_bits
Unexecuted instantiation: color-fast.c:fz_is_eof_bits
Unexecuted instantiation: color-icc-create.c:fz_is_eof_bits
Unexecuted instantiation: color-lcms.c:fz_is_eof_bits
Unexecuted instantiation: compressed-buffer.c:fz_is_eof_bits
Unexecuted instantiation: crypt-md5.c:fz_is_eof_bits
Unexecuted instantiation: device.c:fz_is_eof_bits
Unexecuted instantiation: directory.c:fz_is_eof_bits
Unexecuted instantiation: draw-affine.c:fz_is_eof_bits
Unexecuted instantiation: draw-blend.c:fz_is_eof_bits
Unexecuted instantiation: draw-edge.c:fz_is_eof_bits
Unexecuted instantiation: draw-edgebuffer.c:fz_is_eof_bits
Unexecuted instantiation: draw-unpack.c:fz_is_eof_bits
Unexecuted instantiation: encode-fax.c:fz_is_eof_bits
Unexecuted instantiation: encodings.c:fz_is_eof_bits
Unexecuted instantiation: filter-basic.c:fz_is_eof_bits
Unexecuted instantiation: filter-brotli.c:fz_is_eof_bits
Unexecuted instantiation: filter-dct.c:fz_is_eof_bits
Unexecuted instantiation: filter-fax.c:fz_is_eof_bits
Unexecuted instantiation: filter-flate.c:fz_is_eof_bits
Unexecuted instantiation: filter-jbig2.c:fz_is_eof_bits
Unexecuted instantiation: filter-lzw.c:fz_is_eof_bits
Unexecuted instantiation: filter-predict.c:fz_is_eof_bits
Unexecuted instantiation: filter-sgi.c:fz_is_eof_bits
Unexecuted instantiation: filter-thunder.c:fz_is_eof_bits
Unexecuted instantiation: ftoa.c:fz_is_eof_bits
Unexecuted instantiation: halftone.c:fz_is_eof_bits
Unexecuted instantiation: harfbuzz.c:fz_is_eof_bits
Unexecuted instantiation: output-cbz.c:fz_is_eof_bits
Unexecuted instantiation: output-csv.c:fz_is_eof_bits
Unexecuted instantiation: output-docx.c:fz_is_eof_bits
Unexecuted instantiation: output-jpeg.c:fz_is_eof_bits
Unexecuted instantiation: output-pcl.c:fz_is_eof_bits
Unexecuted instantiation: output-pclm.c:fz_is_eof_bits
Unexecuted instantiation: output-pdfocr.c:fz_is_eof_bits
Unexecuted instantiation: output-png.c:fz_is_eof_bits
Unexecuted instantiation: output-pnm.c:fz_is_eof_bits
Unexecuted instantiation: output-ps.c:fz_is_eof_bits
Unexecuted instantiation: output-pwg.c:fz_is_eof_bits
Unexecuted instantiation: output-svg.c:fz_is_eof_bits
Unexecuted instantiation: stext-device.c:fz_is_eof_bits
Unexecuted instantiation: stext-output.c:fz_is_eof_bits
Unexecuted instantiation: stext-para.c:fz_is_eof_bits
Unexecuted instantiation: stext-search.c:fz_is_eof_bits
Unexecuted instantiation: stext-table.c:fz_is_eof_bits
Unexecuted instantiation: svg-device.c:fz_is_eof_bits
Unexecuted instantiation: tree.c:fz_is_eof_bits
Unexecuted instantiation: uncfb.c:fz_is_eof_bits
Unexecuted instantiation: unlibarchive.c:fz_is_eof_bits
Unexecuted instantiation: untar.c:fz_is_eof_bits
Unexecuted instantiation: xml.c:fz_is_eof_bits
Unexecuted instantiation: zip.c:fz_is_eof_bits
Unexecuted instantiation: pdf-annot.c:fz_is_eof_bits
Unexecuted instantiation: pdf-appearance.c:fz_is_eof_bits
Unexecuted instantiation: pdf-clean.c:fz_is_eof_bits
Unexecuted instantiation: pdf-colorspace.c:fz_is_eof_bits
Unexecuted instantiation: pdf-crypt.c:fz_is_eof_bits
Unexecuted instantiation: pdf-device.c:fz_is_eof_bits
Unexecuted instantiation: pdf-event.c:fz_is_eof_bits
Unexecuted instantiation: pdf-font-add.c:fz_is_eof_bits
Unexecuted instantiation: pdf-font.c:fz_is_eof_bits
Unexecuted instantiation: pdf-form.c:fz_is_eof_bits
Unexecuted instantiation: pdf-function.c:fz_is_eof_bits
Unexecuted instantiation: pdf-image.c:fz_is_eof_bits
Unexecuted instantiation: pdf-interpret.c:fz_is_eof_bits
Unexecuted instantiation: pdf-js.c:fz_is_eof_bits
Unexecuted instantiation: pdf-label.c:fz_is_eof_bits
Unexecuted instantiation: pdf-layer.c:fz_is_eof_bits
Unexecuted instantiation: pdf-layout.c:fz_is_eof_bits
Unexecuted instantiation: pdf-lex.c:fz_is_eof_bits
Unexecuted instantiation: pdf-link.c:fz_is_eof_bits
Unexecuted instantiation: pdf-metrics.c:fz_is_eof_bits
Unexecuted instantiation: pdf-nametree.c:fz_is_eof_bits
Unexecuted instantiation: pdf-object.c:fz_is_eof_bits
Unexecuted instantiation: pdf-op-buffer.c:fz_is_eof_bits
Unexecuted instantiation: pdf-op-filter.c:fz_is_eof_bits
Unexecuted instantiation: pdf-op-run.c:fz_is_eof_bits
Unexecuted instantiation: pdf-op-vectorize.c:fz_is_eof_bits
Unexecuted instantiation: pdf-outline.c:fz_is_eof_bits
Unexecuted instantiation: pdf-page.c:fz_is_eof_bits
Unexecuted instantiation: pdf-parse.c:fz_is_eof_bits
Unexecuted instantiation: pdf-pattern.c:fz_is_eof_bits
Unexecuted instantiation: pdf-repair.c:fz_is_eof_bits
Unexecuted instantiation: pdf-resources.c:fz_is_eof_bits
Unexecuted instantiation: pdf-run.c:fz_is_eof_bits
Unexecuted instantiation: pdf-shade.c:fz_is_eof_bits
Unexecuted instantiation: pdf-signature.c:fz_is_eof_bits
Unexecuted instantiation: pdf-store.c:fz_is_eof_bits
Unexecuted instantiation: pdf-stream.c:fz_is_eof_bits
Unexecuted instantiation: pdf-type3.c:fz_is_eof_bits
Unexecuted instantiation: pdf-unicode.c:fz_is_eof_bits
Unexecuted instantiation: pdf-xobject.c:fz_is_eof_bits
Unexecuted instantiation: xps-common.c:fz_is_eof_bits
Unexecuted instantiation: xps-glyphs.c:fz_is_eof_bits
Unexecuted instantiation: xps-gradient.c:fz_is_eof_bits
Unexecuted instantiation: xps-image.c:fz_is_eof_bits
Unexecuted instantiation: xps-outline.c:fz_is_eof_bits
Unexecuted instantiation: svg-color.c:fz_is_eof_bits
Unexecuted instantiation: svg-parse.c:fz_is_eof_bits
Unexecuted instantiation: css-apply.c:fz_is_eof_bits
Unexecuted instantiation: css-parse.c:fz_is_eof_bits
Unexecuted instantiation: bidi-std.c:fz_is_eof_bits
Unexecuted instantiation: compress.c:fz_is_eof_bits
Unexecuted instantiation: crypt-aes.c:fz_is_eof_bits
Unexecuted instantiation: crypt-arc4.c:fz_is_eof_bits
Unexecuted instantiation: crypt-sha2.c:fz_is_eof_bits
Unexecuted instantiation: filter-leech.c:fz_is_eof_bits
Unexecuted instantiation: glyphbox.c:fz_is_eof_bits
Unexecuted instantiation: stext-boxer.c:fz_is_eof_bits
Unexecuted instantiation: stext-iterator.c:fz_is_eof_bits
Unexecuted instantiation: stext-raft.c:fz_is_eof_bits
Unexecuted instantiation: text-decoder.c:fz_is_eof_bits
Unexecuted instantiation: pdf-cmap-load.c:fz_is_eof_bits
Unexecuted instantiation: pdf-cmap-parse.c:fz_is_eof_bits
Unexecuted instantiation: pdf-cmap.c:fz_is_eof_bits
637
638
/* Implementation details: subject to change. */
639
640
/**
641
  Create a stream from a FILE * that will not be closed
642
  when the stream is dropped.
643
*/
644
fz_stream *fz_open_file_ptr_no_close(fz_context *ctx, FILE *file);
645
646
#endif