OpenCoverage

areadlink-with-size.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/gnulib/lib/areadlink-with-size.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4char *-
5areadlink_with_size (char const *file, size_t size)-
6{-
7-
8-
9-
10 size_t symlink_max = 1024;-
11 size_t INITIAL_LIMIT_BOUND = 8 * 1024;-
12 size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND
symlink_max < ...AL_LIMIT_BOUNDDescription
TRUEevaluated 227 times by 7 tests
Evaluated by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
FALSEnever evaluated
0-227
13 ? symlink_max + 1-
14 : INITIAL_LIMIT_BOUND);-
15-
16-
17 size_t buf_size = size < initial_limit
size < initial_limitDescription
TRUEevaluated 227 times by 7 tests
Evaluated by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
FALSEnever evaluated
? size + 1 : initial_limit;
0-227
18-
19 while (1)-
20 {-
21 ssize_t r;-
22 size_t link_length;-
23 char *buffer = malloc (buf_size);-
24-
25 if (buffer ==
buffer == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 227 times by 7 tests
Evaluated by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
0-227
26 ((void *)0)
buffer == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 227 times by 7 tests
Evaluated by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
0-227
27 )-
28 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
29 ((void *)0)
never executed: return ((void *)0) ;
0
30 ;
never executed: return ((void *)0) ;
0
31 r = readlink (file, buffer, buf_size);-
32 link_length = r;-
33-
34-
35-
36 if (r < 0
r < 0Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • readlink
FALSEevaluated 222 times by 7 tests
Evaluated by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
&&
5-222
37 (*
(*__errno_location ()) != 34Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • readlink
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) != 34Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • readlink
FALSEnever evaluated
0-5
38 !=
(*__errno_location ()) != 34Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • readlink
FALSEnever evaluated
0-5
39 34
(*__errno_location ()) != 34Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • readlink
FALSEnever evaluated
0-5
40 )-
41 {-
42 int saved_errno = -
43 (*__errno_location ())-
44 ;-
45 free (buffer);-
46 -
47 (*__errno_location ()) -
48 = saved_errno;-
49 return
executed 5 times by 1 test: return ((void *)0) ;
Executed by:
  • readlink
executed 5 times by 1 test: return ((void *)0) ;
Executed by:
  • readlink
5
50 ((void *)0)
executed 5 times by 1 test: return ((void *)0) ;
Executed by:
  • readlink
5
51 ;
executed 5 times by 1 test: return ((void *)0) ;
Executed by:
  • readlink
5
52 }-
53-
54 if (link_length < buf_size
link_length < buf_sizeDescription
TRUEevaluated 222 times by 7 tests
Evaluated by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
FALSEnever evaluated
)
0-222
55 {-
56 buffer[link_length] = 0;-
57 return
executed 222 times by 7 tests: return buffer;
Executed by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
buffer;
executed 222 times by 7 tests: return buffer;
Executed by:
  • cp
  • ln
  • ls
  • mv
  • readlink
  • realpath
  • vdir
222
58 }-
59-
60 free (buffer);-
61 if (buf_size <= (
buf_size <= ( ...ffffffffL) / 2Description
TRUEnever evaluated
FALSEnever evaluated
0
62 (
(1844674407370...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
18446744073709551615UL)
(1844674407370...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
buf_size <= ( ...ffffffffL) / 2Description
TRUEnever evaluated
FALSEnever evaluated
0
63 < 0x7fffffffffffffffL
(1844674407370...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
?
buf_size <= ( ...ffffffffL) / 2Description
TRUEnever evaluated
FALSEnever evaluated
0
64 (18446744073709551615UL)
buf_size <= ( ...ffffffffL) / 2Description
TRUEnever evaluated
FALSEnever evaluated
0
65 : 0x7fffffffffffffffL) / 2
buf_size <= ( ...ffffffffL) / 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
66 buf_size *= 2;
never executed: buf_size *= 2;
0
67 else if (buf_size < (
buf_size < ( (...ffffffffffffL)Description
TRUEnever evaluated
FALSEnever evaluated
0
68 (18446744073709551615UL)
buf_size < ( (...ffffffffffffL)Description
TRUEnever evaluated
FALSEnever evaluated
0
69 < 0x7fffffffffffffffL ?
buf_size < ( (...ffffffffffffL)Description
TRUEnever evaluated
FALSEnever evaluated
0
70 (18446744073709551615UL)
buf_size < ( (...ffffffffffffL)Description
TRUEnever evaluated
FALSEnever evaluated
0
71 : 0x7fffffffffffffffL)
buf_size < ( (...ffffffffffffL)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
72 buf_size = (
never executed: buf_size = ( (18446744073709551615UL) < 0x7fffffffffffffffL ? (18446744073709551615UL) : 0x7fffffffffffffffL);
0
73 (
(1844674407370...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
18446744073709551615UL)
(1844674407370...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
never executed: buf_size = ( (18446744073709551615UL) < 0x7fffffffffffffffL ? (18446744073709551615UL) : 0x7fffffffffffffffL);
0
74 < 0x7fffffffffffffffL
(1844674407370...fffffffffffffLDescription
TRUEnever evaluated
FALSEnever evaluated
?
never executed: buf_size = ( (18446744073709551615UL) < 0x7fffffffffffffffL ? (18446744073709551615UL) : 0x7fffffffffffffffL);
0
75 (18446744073709551615UL)
never executed: buf_size = ( (18446744073709551615UL) < 0x7fffffffffffffffL ? (18446744073709551615UL) : 0x7fffffffffffffffL);
0
76 : 0x7fffffffffffffffL);
never executed: buf_size = ( (18446744073709551615UL) < 0x7fffffffffffffffL ? (18446744073709551615UL) : 0x7fffffffffffffffL);
0
77 else-
78 {-
79 -
80 (*__errno_location ()) -
81 = -
82 12-
83 ;-
84 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
85 ((void *)0)
never executed: return ((void *)0) ;
0
86 ;
never executed: return ((void *)0) ;
0
87 }-
88 }-
89}
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2