libcaca-0.99-0.80.beta20.fc44

List of Findings

Error: UNICONTROL_WARNING (CWE-94): [#def1]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5773: warning: bidirectional control characters: ['\u202a']
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def2]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5774: warning: bidirectional control characters: ['\u202b']
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def3]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5775: warning: bidirectional control characters: ['\u202c']
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|-> /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def4]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5776: warning: bidirectional control characters: ['\u202d']
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def5]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5777: warning: bidirectional control characters: ['\u202e']
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,8,248,0,0,243,240,1,8,248,7,80,0,90,32,3,200,0,0,180,0,0,8,248,8,248,243,240,243,248,248,8,248,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def6]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5833: warning: bidirectional control characters: ['\u2066']
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def7]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5834: warning: bidirectional control characters: ['\u2067']
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def8]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5835: warning: bidirectional control characters: ['\u2068']
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def9]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/mono9.data:5836: warning: bidirectional control characters: ['\u2069']
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|-> /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5838|   /* U+206B: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def10]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5773: warning: bidirectional control characters: ['\u202a']
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def11]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5774: warning: bidirectional control characters: ['\u202b']
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def12]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5775: warning: bidirectional control characters: ['\u202c']
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|-> /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def13]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5776: warning: bidirectional control characters: ['\u202d']
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def14]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5777: warning: bidirectional control characters: ['\u202e']
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,228,0,0,0,227,62,0,0,0,227,62,0,3,16,94,229,2,170,16,0,2,173,64,0,1,159,112,0,0,143,178,0,0,0,180,0,0,0,0,94,228,5,238,64,227,62,14,51,224,227,62,14,51,224,94,228,5,238,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def15]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5833: warning: bidirectional control characters: ['\u2066']
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def16]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5834: warning: bidirectional control characters: ['\u2067']
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def17]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5835: warning: bidirectional control characters: ['\u2068']
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def18]
/usr/src/debug/libcaca-0.99-0.80.beta20.fc44.x86_64/caca/monobold12.data:5836: warning: bidirectional control characters: ['\u2069']
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|-> /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5838|   /* U+206B: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def19]
libcaca-0.99.beta20/caca/caca.c:117:14: warning[-Wanalyzer-malloc-leak]: leak of ‘dp’
libcaca-0.99.beta20/caca/caca.c:107:26: acquire_memory: allocated here
libcaca-0.99.beta20/caca/caca.c:109:7: branch_false: following ‘false’ branch (when ‘dp’ is non-NULL)...
libcaca-0.99.beta20/caca/caca.c:115:27: branch_false: ...to here
libcaca-0.99.beta20/caca/caca.c:115:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/caca.c:117:14: branch_true: ...to here
libcaca-0.99.beta20/caca/caca.c:117:14: danger: ‘dp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  115|       if((dp->autorelease = (cv == NULL)))
#  116|       {
#  117|->         cv = caca_create_canvas(0, 0);
#  118|       }
#  119|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def20]
libcaca-0.99.beta20/caca/caca.c:122:8: warning[-Wanalyzer-malloc-leak]: leak of ‘dp’
libcaca-0.99.beta20/caca/caca.c:107:26: acquire_memory: allocated here
libcaca-0.99.beta20/caca/caca.c:109:7: branch_false: following ‘false’ branch (when ‘dp’ is non-NULL)...
libcaca-0.99.beta20/caca/caca.c:115:27: branch_false: ...to here
libcaca-0.99.beta20/caca/caca.c:122:8: danger: ‘dp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  120|       dp->cv = cv;
#  121|   
#  122|->     if(caca_manage_canvas(cv, (int (*)(void *))caca_can_resize, (void *)dp))
#  123|       {
#  124|           if(dp->autorelease)

Error: CPPCHECK_WARNING (CWE-401): [#def21]
libcaca-0.99.beta20/caca/caca0.c:242: error[memleakOnRealloc]: Common realloc mistake: 'bitmaps' nulled but not freed upon failure
#  240|       /* Store bitmap in our list */
#  241|       nbitmaps++;
#  242|->     bitmaps = realloc(bitmaps, nbitmaps * (sizeof(caca_dither_t *)));
#  243|       bitmaps[nbitmaps - 1] = d;
#  244|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def22]
libcaca-0.99.beta20/caca/caca_conio.c:379:11: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
libcaca-0.99.beta20/caca/caca_conio.c:378:5: acquire_resource: ‘va_start’ called here
libcaca-0.99.beta20/caca/caca_conio.c:379:11: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  377|   
#  378|       va_start(args, format);
#  379|->     ret = caca_vprintf(cv, caca_wherex(cv), caca_wherey(cv), format, args);
#  380|       va_end(args);
#  381|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
libcaca-0.99.beta20/caca/canvas.c:92:5: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libcaca-0.99.beta20/caca/canvas.c:59:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/canvas.c:65:10: branch_false: ...to here
libcaca-0.99.beta20/caca/canvas.c:67:7: branch_false: following ‘false’ branch (when ‘cv’ is non-NULL)...
libcaca-0.99.beta20/caca/canvas.c:70:5: branch_false: ...to here
libcaca-0.99.beta20/caca/canvas.c:77:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/canvas.c:78:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/canvas.c:84:27: branch_false: ...to here
libcaca-0.99.beta20/caca/canvas.c:92:5: danger: ‘<unknown>’ leaks here; was allocated at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   90|       cv->frames[0].name = strdup("frame#00000000");
#   91|   
#   92|->     _caca_load_frame_info(cv);
#   93|       caca_set_color_ansi(cv, CACA_DEFAULT, CACA_TRANSPARENT);
#   94|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
libcaca-0.99.beta20/caca/canvas.c:92:5: warning[-Wanalyzer-malloc-leak]: leak of ‘cv’
libcaca-0.99.beta20/caca/canvas.c:59:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/canvas.c:65:10: branch_false: ...to here
libcaca-0.99.beta20/caca/canvas.c:65:10: acquire_memory: allocated here
libcaca-0.99.beta20/caca/canvas.c:67:7: branch_false: following ‘false’ branch (when ‘cv’ is non-NULL)...
libcaca-0.99.beta20/caca/canvas.c:70:5: branch_false: ...to here
libcaca-0.99.beta20/caca/canvas.c:78:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/canvas.c:84:27: branch_false: ...to here
libcaca-0.99.beta20/caca/canvas.c:92:5: danger: ‘cv’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   90|       cv->frames[0].name = strdup("frame#00000000");
#   91|   
#   92|->     _caca_load_frame_info(cv);
#   93|       caca_set_color_ansi(cv, CACA_DEFAULT, CACA_TRANSPARENT);
#   94|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def25]
libcaca-0.99.beta20/caca/canvas.c:401:43: warning[-Wanalyzer-malloc-leak]: leak of ‘realloc(*<unknown>.chars, (long unsigned int)new_size * 4)’
libcaca-0.99.beta20/caca/canvas.c:372:8: branch_false: following ‘false’ branch (when ‘new_size >= 0’)...
libcaca-0.99.beta20/caca/canvas.c:378:5: branch_false: ...to here
libcaca-0.99.beta20/caca/canvas.c:391:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/canvas.c:392:9: branch_true: ...to here
libcaca-0.99.beta20/caca/canvas.c:395:7: branch_true: following ‘true’ branch (when ‘new_size > old_size’)...
 branch_true: ...to here
libcaca-0.99.beta20/caca/canvas.c:397:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/canvas.c:399:35: branch_true: ...to here
libcaca-0.99.beta20/caca/canvas.c:401:43: danger: ‘realloc(*<unknown>.chars, (long unsigned int)new_size * 4)’ leaks here; was allocated at [(9)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/8)
#  399|               cv->frames[f].chars = realloc(cv->frames[f].chars,
#  400|                                             new_size * sizeof(uint32_t));
#  401|->             cv->frames[f].attrs = realloc(cv->frames[f].attrs,
#  402|                                             new_size * sizeof(uint32_t));
#  403|               if(new_size && (!cv->frames[f].chars || !cv->frames[f].attrs))

Error: CPPCHECK_WARNING (CWE-476): [#def26]
libcaca-0.99.beta20/caca/codec/export.c:50: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: s
#   48|   static inline int write_u8(char *s, uint8_t x)
#   49|   {
#   50|->     s[0] = x;
#   51|       return 1;
#   52|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def27]
libcaca-0.99.beta20/caca/codec/export.c:50:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
libcaca-0.99.beta20/caca/codec/export.c:957:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:963:9: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:969:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:972:12: call_function: inlined call to ‘write_u8’ from ‘export_tga’
#   48|   static inline int write_u8(char *s, uint8_t x)
#   49|   {
#   50|->     s[0] = x;
#   51|       return 1;
#   52|   }

Error: CPPCHECK_WARNING (CWE-476): [#def28]
libcaca-0.99.beta20/caca/codec/export.c:58: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: s
#   56|       int n = 0;
#   57|       for (; d[n]; ++n)
#   58|->         s[n] = d[n];
#   59|       return n;
#   60|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def29]
libcaca-0.99.beta20/caca/codec/export.c:58:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘data’
libcaca-0.99.beta20/caca/codec/export.c:1008:14: enter_function: entry to ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1025:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:1027:12: call_function: inlined call to ‘write_string’ from ‘export_troff’
#   56|       int n = 0;
#   57|       for (; d[n]; ++n)
#   58|->         s[n] = d[n];
#   59|       return n;
#   60|   }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def30]
libcaca-0.99.beta20/caca/codec/export.c:237:12: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘data’ where non-null expected
libcaca-0.99.beta20/caca/codec/export.c:234:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:237:12: danger: argument 1 (‘data’) from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  235|   
#  236|       /* magic */
#  237|->     cur += sprintf(cur, "%s", "\xCA\xCA" "CV");
#  238|   
#  239|       /* canvas_header */

Error: GCC_ANALYZER_WARNING (CWE-688): [#def31]
libcaca-0.99.beta20/caca/codec/export.c:292:12: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘data’ where non-null expected
libcaca-0.99.beta20/caca/codec/export.c:288:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:292:12: danger: argument 1 (‘data’) from [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  290|       /* HTML header */
#  291|   
#  292|->     cur += sprintf(cur, "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n");
#  293|       cur += sprintf(cur, "   \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n");
#  294|       cur += sprintf(cur, "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def32]
libcaca-0.99.beta20/caca/codec/export.c:296:12: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:288:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:296:12: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  294|       cur += sprintf(cur, "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">");
#  295|       cur += sprintf(cur, "<head>\n");
#  296|->     cur += sprintf(cur, "<title>Generated by libcaca %s</title>\n",
#  297|                           caca_get_version());
#  298|       cur += sprintf(cur, "</head><body>\n");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def33]
libcaca-0.99.beta20/caca/codec/export.c:311:16: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:288:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:303:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:305:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:308:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:310:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:311:16: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  309|           {
#  310|               cur += sprintf(cur, "<span style=\"");
#  311|->             if(caca_attr_to_ansi_fg(lineattr[x]) != CACA_DEFAULT)
#  312|                   cur += sprintf(cur, ";color:#%.03x",
#  313|                                  caca_attr_to_rgb12_fg(lineattr[x]));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def34]
libcaca-0.99.beta20/caca/codec/export.c:313:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:288:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:303:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:305:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:308:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:310:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:311:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:313:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:313:32: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  311|               if(caca_attr_to_ansi_fg(lineattr[x]) != CACA_DEFAULT)
#  312|                   cur += sprintf(cur, ";color:#%.03x",
#  313|->                                caca_attr_to_rgb12_fg(lineattr[x]));
#  314|               if(caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  315|                   cur += sprintf(cur, ";background-color:#%.03x",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def35]
libcaca-0.99.beta20/caca/codec/export.c:314:16: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:288:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:303:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:305:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:308:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:310:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:314:16: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  312|                   cur += sprintf(cur, ";color:#%.03x",
#  313|                                  caca_attr_to_rgb12_fg(lineattr[x]));
#  314|->             if(caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  315|                   cur += sprintf(cur, ";background-color:#%.03x",
#  316|                                  caca_attr_to_rgb12_bg(lineattr[x]));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def36]
libcaca-0.99.beta20/caca/codec/export.c:316:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:288:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:303:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:305:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:308:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:310:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:314:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:316:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:316:32: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/0)
#  314|               if(caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  315|                   cur += sprintf(cur, ";background-color:#%.03x",
#  316|->                                caca_attr_to_rgb12_bg(lineattr[x]));
#  317|               if(lineattr[x] & CACA_BOLD)
#  318|                   cur += sprintf(cur, ";font-weight:bold");

Error: CPPCHECK_WARNING (CWE-401): [#def37]
libcaca-0.99.beta20/caca/codec/export.c:383: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  381|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  382|       *bytes = (uintptr_t)(cur - data);
#  383|->     data = realloc(data, *bytes);
#  384|   
#  385|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def38]
libcaca-0.99.beta20/caca/codec/export.c:385:12: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:288:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:385:12: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  383|       data = realloc(data, *bytes);
#  384|   
#  385|->     return data;
#  386|   }
#  387|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def39]
libcaca-0.99.beta20/caca/codec/export.c:417:21: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:403:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:405:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:408:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:411:42: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:409:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:415:27: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:409:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:417:53: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:417:21: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  415|                  (((linechar[x - 1] == CACA_MAGIC_FULLWIDTH)
#  416|                    &&
#  417|->                  (! caca_utf32_is_fullwidth(linechar[x])))
#  418|                   ||
#  419|                   (caca_attr_to_ansi_bg(lineattr[x - 1])

Error: GCC_ANALYZER_WARNING (CWE-401): [#def40]
libcaca-0.99.beta20/caca/codec/export.c:419:18: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:403:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:405:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:408:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:411:42: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:409:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:415:27: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:419:18: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  417|                    (! caca_utf32_is_fullwidth(linechar[x])))
#  418|                   ||
#  419|->                 (caca_attr_to_ansi_bg(lineattr[x - 1])
#  420|                    !=
#  421|                    caca_attr_to_ansi_bg(lineattr[x]))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def41]
libcaca-0.99.beta20/caca/codec/export.c:421:18: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:403:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:405:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:408:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:411:42: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:409:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:415:27: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:421:18: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  419|                   (caca_attr_to_ansi_bg(lineattr[x - 1])
#  420|                    !=
#  421|->                  caca_attr_to_ansi_bg(lineattr[x]))
#  422|                   ||
#  423|                   ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def42]
libcaca-0.99.beta20/caca/codec/export.c:423:19: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:403:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:405:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:408:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:411:42: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:409:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:415:27: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:415:17: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:423:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:423:19: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  421|                    caca_attr_to_ansi_bg(lineattr[x]))
#  422|                   ||
#  423|->                 ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  424|                    ?
#  425|                    (_caca_attr_to_rgb24bg(lineattr[x - 1])

Error: GCC_ANALYZER_WARNING (CWE-401): [#def43]
libcaca-0.99.beta20/caca/codec/export.c:425:19: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:403:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:405:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:408:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:411:42: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:409:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:415:27: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:415:17: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:423:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:415:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:425:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:425:19: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  423|                   ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  424|                    ?
#  425|->                  (_caca_attr_to_rgb24bg(lineattr[x - 1])
#  426|                     !=
#  427|                     _caca_attr_to_rgb24bg(lineattr[x]))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def44]
libcaca-0.99.beta20/caca/codec/export.c:427:19: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:403:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:405:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:408:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:414:16: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:411:42: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:409:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:415:27: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:415:17: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:423:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:415:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:425:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:427:19: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  425|                    (_caca_attr_to_rgb24bg(lineattr[x - 1])
#  426|                     !=
#  427|->                   _caca_attr_to_rgb24bg(lineattr[x]))
#  428|                    :
#  429|                    0)))

Error: GCC_ANALYZER_WARNING (CWE-688): [#def45]
libcaca-0.99.beta20/caca/codec/export.c:446:12: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘data’ where non-null expected
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_false: following ‘false’ branch (when ‘cell_boundary_bitmap’ is NULL)...
 branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:446:12: danger: argument 1 (‘data’) from [(3)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/2) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  444|       cur = data = malloc(*bytes);
#  445|   
#  446|->     cur += sprintf(cur, "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" summary=\"[libcaca canvas export]\">\n");
#  447|   
#  448|       for(y = 0; y < cv->height; y++)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def46]
libcaca-0.99.beta20/caca/codec/export.c:485:20: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:485:20: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  483|                     ((linechar[x + len - 1] != CACA_MAGIC_FULLWIDTH)
#  484|                      ||
#  485|->                    caca_utf32_is_fullwidth(linechar[x + len]))
#  486|                     &&
#  487|                     (caca_attr_to_ansi_bg(lineattr[x + len])

Error: GCC_ANALYZER_WARNING (CWE-401): [#def47]
libcaca-0.99.beta20/caca/codec/export.c:485:20: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:485:20: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/2)
#  483|                     ((linechar[x + len - 1] != CACA_MAGIC_FULLWIDTH)
#  484|                      ||
#  485|->                    caca_utf32_is_fullwidth(linechar[x + len]))
#  486|                     &&
#  487|                     (caca_attr_to_ansi_bg(lineattr[x + len])

Error: GCC_ANALYZER_WARNING (CWE-401): [#def48]
libcaca-0.99.beta20/caca/codec/export.c:487:20: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:487:20: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  485|                      caca_utf32_is_fullwidth(linechar[x + len]))
#  486|                     &&
#  487|->                   (caca_attr_to_ansi_bg(lineattr[x + len])
#  488|                      ==
#  489|                      caca_attr_to_ansi_bg(lineattr[x]))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def49]
libcaca-0.99.beta20/caca/codec/export.c:487:20: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:487:20: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/2)
#  485|                      caca_utf32_is_fullwidth(linechar[x + len]))
#  486|                     &&
#  487|->                   (caca_attr_to_ansi_bg(lineattr[x + len])
#  488|                      ==
#  489|                      caca_attr_to_ansi_bg(lineattr[x]))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def50]
libcaca-0.99.beta20/caca/codec/export.c:489:20: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:489:20: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/0)
#  487|                     (caca_attr_to_ansi_bg(lineattr[x + len])
#  488|                      ==
#  489|->                    caca_attr_to_ansi_bg(lineattr[x]))
#  490|                     &&
#  491|                     ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def51]
libcaca-0.99.beta20/caca/codec/export.c:489:20: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:489:20: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/2)
#  487|                     (caca_attr_to_ansi_bg(lineattr[x + len])
#  488|                      ==
#  489|->                    caca_attr_to_ansi_bg(lineattr[x]))
#  490|                     &&
#  491|                     ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def52]
libcaca-0.99.beta20/caca/codec/export.c:491:21: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:491:21: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:491:21: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0)
#  489|                      caca_attr_to_ansi_bg(lineattr[x]))
#  490|                     &&
#  491|->                   ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  492|                      ?
#  493|                      (_caca_attr_to_rgb24bg(lineattr[x + len])

Error: GCC_ANALYZER_WARNING (CWE-401): [#def53]
libcaca-0.99.beta20/caca/codec/export.c:491:21: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:491:21: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:491:21: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/2)
#  489|                      caca_attr_to_ansi_bg(lineattr[x]))
#  490|                     &&
#  491|->                   ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  492|                      ?
#  493|                      (_caca_attr_to_rgb24bg(lineattr[x + len])

Error: GCC_ANALYZER_WARNING (CWE-401): [#def54]
libcaca-0.99.beta20/caca/codec/export.c:493:21: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:491:21: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:493:21: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/0)
#  491|                     ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  492|                      ?
#  493|->                    (_caca_attr_to_rgb24bg(lineattr[x + len])
#  494|                       ==
#  495|                       _caca_attr_to_rgb24bg(lineattr[x]))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def55]
libcaca-0.99.beta20/caca/codec/export.c:493:21: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:491:21: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:493:21: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/2)
#  491|                     ((caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  492|                      ?
#  493|->                    (_caca_attr_to_rgb24bg(lineattr[x + len])
#  494|                       ==
#  495|                       _caca_attr_to_rgb24bg(lineattr[x]))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def56]
libcaca-0.99.beta20/caca/codec/export.c:495:21: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:491:21: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:495:21: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/0)
#  493|                      (_caca_attr_to_rgb24bg(lineattr[x + len])
#  494|                       ==
#  495|->                     _caca_attr_to_rgb24bg(lineattr[x]))
#  496|                      :
#  497|                      1))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def57]
libcaca-0.99.beta20/caca/codec/export.c:495:21: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: following ‘false’ branch (when ‘y == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:475:46: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:465:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:483:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:487:49: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:463:19: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:491:21: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:495:21: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/2)
#  493|                      (_caca_attr_to_rgb24bg(lineattr[x + len])
#  494|                       ==
#  495|->                     _caca_attr_to_rgb24bg(lineattr[x]))
#  496|                      :
#  497|                      1))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def58]
libcaca-0.99.beta20/caca/codec/export.c:510:16: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:510:16: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/0)
#  508|               cur += sprintf(cur, "<td");
#  509|   
#  510|->             if(caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  511|                   cur += sprintf(cur, " bgcolor=\"#%.06lx\"", (unsigned long int)
#  512|                                  _caca_attr_to_rgb24bg(lineattr[x]));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def59]
libcaca-0.99.beta20/caca/codec/export.c:510:16: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:510:16: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/2)
#  508|               cur += sprintf(cur, "<td");
#  509|   
#  510|->             if(caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  511|                   cur += sprintf(cur, " bgcolor=\"#%.06lx\"", (unsigned long int)
#  512|                                  _caca_attr_to_rgb24bg(lineattr[x]));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def60]
libcaca-0.99.beta20/caca/codec/export.c:512:32: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:510:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:512:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:512:32: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/0)
#  510|               if(caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  511|                   cur += sprintf(cur, " bgcolor=\"#%.06lx\"", (unsigned long int)
#  512|->                                _caca_attr_to_rgb24bg(lineattr[x]));
#  513|   
#  514|               if(has_multi_cell_row && (len > 1))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def61]
libcaca-0.99.beta20/caca/codec/export.c:512:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:510:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:512:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:512:32: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/2)
#  510|               if(caca_attr_to_ansi_bg(lineattr[x]) < 0x10)
#  511|                   cur += sprintf(cur, " bgcolor=\"#%.06lx\"", (unsigned long int)
#  512|->                                _caca_attr_to_rgb24bg(lineattr[x]));
#  513|   
#  514|               if(has_multi_cell_row && (len > 1))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def62]
libcaca-0.99.beta20/caca/codec/export.c:543:33: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:514:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:531:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:535:24: branch_true: following ‘true’ branch (when ‘len > i’)...
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: following ‘true’ branch (when ‘nonblank != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:543:63: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:543:33: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/0)
#  541|                       (lineattr[x + i] != lineattr[x + i - 1])))
#  542|                   {
#  543|->                     needfont = (caca_attr_to_ansi_fg(lineattr[x + i])
#  544|                                   !=
#  545|                                   CACA_DEFAULT);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def63]
libcaca-0.99.beta20/caca/codec/export.c:543:33: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:514:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:531:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:535:24: branch_true: following ‘true’ branch (when ‘len > i’)...
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: following ‘true’ branch (when ‘nonblank != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:543:63: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:543:33: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/2)
#  541|                       (lineattr[x + i] != lineattr[x + i - 1])))
#  542|                   {
#  543|->                     needfont = (caca_attr_to_ansi_fg(lineattr[x + i])
#  544|                                   !=
#  545|                                   CACA_DEFAULT);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def64]
libcaca-0.99.beta20/caca/codec/export.c:550:40: warning[-Wanalyzer-malloc-leak]: leak of ‘cell_boundary_bitmap’
libcaca-0.99.beta20/caca/codec/export.c:400:46: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:514:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:531:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:535:24: branch_true: following ‘true’ branch (when ‘len > i’)...
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: following ‘true’ branch (when ‘nonblank != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:543:63: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:547:23: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:550:40: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:550:40: danger: ‘cell_boundary_bitmap’ leaks here; was allocated at [(1)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/0)
#  548|                           cur += sprintf(cur, "<font color=\"#%.06lx\">",
#  549|                                          (unsigned long int)
#  550|->                                        _caca_attr_to_rgb24fg(lineattr[x + i]));
#  551|   
#  552|                       if(lineattr[x + i] & CACA_BOLD)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def65]
libcaca-0.99.beta20/caca/codec/export.c:550:40: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:401:7: branch_true: following ‘true’ branch (when ‘cell_boundary_bitmap’ is non-NULL)...
libcaca-0.99.beta20/caca/codec/export.c:402:9: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:450:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:455:20: branch_true: following ‘true’ branch...
 branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:514:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:531:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:535:24: branch_true: following ‘true’ branch (when ‘len > i’)...
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:19: branch_true: following ‘true’ branch (when ‘nonblank != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:537:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
libcaca-0.99.beta20/caca/codec/export.c:543:63: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:547:23: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:550:40: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:550:40: danger: ‘data’ leaks here; was allocated at [(3)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/2)
#  548|                           cur += sprintf(cur, "<font color=\"#%.06lx\">",
#  549|                                          (unsigned long int)
#  550|->                                        _caca_attr_to_rgb24fg(lineattr[x + i]));
#  551|   
#  552|                       if(lineattr[x + i] & CACA_BOLD)

Error: CPPCHECK_WARNING (CWE-401): [#def66]
libcaca-0.99.beta20/caca/codec/export.c:639: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  637|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  638|       *bytes = (uintptr_t)(cur - data);
#  639|->     data = realloc(data, *bytes);
#  640|   
#  641|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def67]
libcaca-0.99.beta20/caca/codec/export.c:641:12: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:444:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:448:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:629:12: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:632:8: branch_false: following ‘false’ branch (when ‘cell_boundary_bitmap’ is NULL)...
libcaca-0.99.beta20/caca/codec/export.c:638:25: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:641:12: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/37/codeFlows/0/threadFlows/0/locations/0)
#  639|       data = realloc(data, *bytes);
#  640|   
#  641|->     return data;
#  642|   }
#  643|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def68]
libcaca-0.99.beta20/caca/codec/export.c:659:12: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘data’ where non-null expected
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:659:12: danger: argument 1 (‘data’) from [(1)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  657|   
#  658|       /* Table */
#  659|->     cur += sprintf(cur, "[font=Courier New]");
#  660|   
#  661|       for(y = 0; y < cv->height; y++)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def69]
libcaca-0.99.beta20/caca/codec/export.c:682:24: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:661:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:663:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:666:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:673:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:682:24: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/0)
#  680|                       len++;
#  681|   
#  682|->             needback = caca_attr_to_ansi_bg(lineattr[x]) < 0x10;
#  683|               needfront = caca_attr_to_ansi_fg(lineattr[x]) < 0x10;
#  684|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def70]
libcaca-0.99.beta20/caca/codec/export.c:683:25: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:661:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:663:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:666:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:673:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:683:25: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/0)
#  681|   
#  682|               needback = caca_attr_to_ansi_bg(lineattr[x]) < 0x10;
#  683|->             needfront = caca_attr_to_ansi_fg(lineattr[x]) < 0x10;
#  684|   
#  685|               if(needback)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def71]
libcaca-0.99.beta20/caca/codec/export.c:687:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:661:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:663:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:666:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:673:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:685:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:687:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:687:32: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/0)
#  685|               if(needback)
#  686|                   cur += sprintf(cur, "[f=#%.06lx]", (unsigned long int)
#  687|->                                _caca_attr_to_rgb24bg(lineattr[x]));
#  688|   
#  689|               if(linechar[x] == ' ')

Error: GCC_ANALYZER_WARNING (CWE-401): [#def72]
libcaca-0.99.beta20/caca/codec/export.c:691:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:661:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:663:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:666:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:673:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:685:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:689:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:689:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:691:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:691:32: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/0)
#  689|               if(linechar[x] == ' ')
#  690|                   cur += sprintf(cur, "[c=#%.06lx]", (unsigned long int)
#  691|->                                _caca_attr_to_rgb24bg(lineattr[x]));
#  692|               else if(needfront)
#  693|                   cur += sprintf(cur, "[c=#%.06lx]", (unsigned long int)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def73]
libcaca-0.99.beta20/caca/codec/export.c:694:32: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:661:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:663:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:666:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:673:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:685:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:689:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:689:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:692:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:692:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:694:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:694:32: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/43/codeFlows/0/threadFlows/0/locations/0)
#  692|               else if(needfront)
#  693|                   cur += sprintf(cur, "[c=#%.06lx]", (unsigned long int)
#  694|->                                _caca_attr_to_rgb24fg(lineattr[x]));
#  695|   
#  696|               if(lineattr[x] & CACA_BOLD)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def74]
libcaca-0.99.beta20/caca/codec/export.c:712:28: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:661:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:663:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:666:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:673:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:685:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:689:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:689:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:692:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:692:20: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:696:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:696:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:698:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:698:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:700:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:700:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:705:13: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:705:24: branch_true: following ‘true’ branch (when ‘len > i’)...
libcaca-0.99.beta20/caca/codec/export.c:707:29: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:707:19: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:709:24: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:709:24: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:712:28: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:712:28: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/44/codeFlows/0/threadFlows/0/locations/0)
#  710|                       *cur++ = '_';
#  711|                   else
#  712|->                     cur += caca_utf32_to_utf8(cur, linechar[x + i]);
#  713|               }
#  714|   

Error: CPPCHECK_WARNING (CWE-401): [#def75]
libcaca-0.99.beta20/caca/codec/export.c:739: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  737|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  738|       *bytes = (uintptr_t)(cur - data);
#  739|->     data = realloc(data, *bytes);
#  740|   
#  741|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def76]
libcaca-0.99.beta20/caca/codec/export.c:741:12: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:656:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:661:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:733:12: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:741:12: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/45/codeFlows/0/threadFlows/0/locations/0)
#  739|       data = realloc(data, *bytes);
#  740|   
#  741|->     return data;
#  742|   }
#  743|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def77]
libcaca-0.99.beta20/caca/codec/export.c:780:12: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘data’ where non-null expected
libcaca-0.99.beta20/caca/codec/export.c:777:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:780:12: danger: argument 1 (‘data’) from [(1)](sarif:/runs/0/results/46/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  778|   
#  779|       /* Header */
#  780|->     cur += sprintf(cur, "%s", ps_header);
#  781|       cur += sprintf(cur, "0 %d translate\n", cv->height);
#  782|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def78]
libcaca-0.99.beta20/caca/codec/export.c:791:13: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:777:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:784:25: branch_true: following ‘true’ branch (when ‘y != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:786:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:788:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:791:34: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:791:13: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/47/codeFlows/0/threadFlows/0/locations/0)
#  789|           {
#  790|               uint8_t argb[8];
#  791|->             caca_attr_to_argb64(*lineattr++, argb);
#  792|               cur += sprintf(cur, "1 0 translate\n %f %f %f csquare\n",
#  793|                              (float)argb[1] * (1.0 / 0xf),

Error: GCC_ANALYZER_WARNING (CWE-401): [#def79]
libcaca-0.99.beta20/caca/codec/export.c:815:13: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:777:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:784:25: branch_true: following ‘true’ branch (when ‘y != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:786:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:805:25: branch_true: following ‘true’ branch (when ‘y != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:807:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:810:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:813:28: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:815:13: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/48/codeFlows/0/threadFlows/0/locations/0)
#  813|               uint32_t ch = *linechar++;
#  814|   
#  815|->             caca_attr_to_argb64(*lineattr++, argb);
#  816|   
#  817|               cur += sprintf(cur, "newpath\n");

Error: CPPCHECK_WARNING (CWE-401): [#def80]
libcaca-0.99.beta20/caca/codec/export.c:848: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  846|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  847|       *bytes = (uintptr_t)(cur - data);
#  848|->     data = realloc(data, *bytes);
#  849|   
#  850|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def81]
libcaca-0.99.beta20/caca/codec/export.c:850:12: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:777:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:850:12: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/49/codeFlows/0/threadFlows/0/locations/0)
#  848|       data = realloc(data, *bytes);
#  849|   
#  850|->     return data;
#  851|   }
#  852|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def82]
libcaca-0.99.beta20/caca/codec/export.c:877:12: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘data’ where non-null expected
libcaca-0.99.beta20/caca/codec/export.c:874:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/export.c:877:12: danger: argument 1 (‘data’) from [(1)](sarif:/runs/0/results/50/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  875|   
#  876|       /* Header */
#  877|->     cur += sprintf(cur, svg_header, cv->width * 6, cv->height * 10,
#  878|                                       cv->width * 6, cv->height * 10);
#  879|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def83]
libcaca-0.99.beta20/caca/codec/export.c:892:33: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:874:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:884:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:886:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:888:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:890:20: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:892:33: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/51/codeFlows/0/threadFlows/0/locations/0)
#  890|               cur += sprintf(cur, "<rect style=\"fill:#%.03x\" x=\"%d\" y=\"%d\""
#  891|                                   " width=\"6\" height=\"10\"/>\n",
#  892|->                                 caca_attr_to_rgb12_bg(*lineattr++),
#  893|                                   x * 6, y * 10);
#  894|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def84]
libcaca-0.99.beta20/caca/codec/export.c:915:33: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:874:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:888:20: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:884:32: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:898:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:900:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:903:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:905:28: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:907:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:918:40: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:915:33: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/52/codeFlows/0/threadFlows/0/locations/0)
#  913|               cur += sprintf(cur, "<text style=\"fill:#%.03x\"%s%s "
#  914|                                   "x=\"%d\" y=\"%d\">",
#  915|->                                 caca_attr_to_rgb12_fg(*lineattr),
#  916|                                   (*lineattr & CACA_BOLD) ? " font-weight=\"bold\"" : "",
#  917|                                   (*lineattr & CACA_ITALICS) ? " font-style=\"italic\"" : "",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def85]
libcaca-0.99.beta20/caca/codec/export.c:924:24: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:874:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:898:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:900:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:903:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:905:28: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:907:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:918:40: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:921:15: branch_false: following ‘false’ branch (when ‘ch > 31’)...
libcaca-0.99.beta20/caca/codec/export.c:923:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:923:20: branch_true: following ‘true’ branch (when ‘ch > 127’)...
libcaca-0.99.beta20/caca/codec/export.c:924:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:924:24: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/0)
#  922|                   *cur++ = '?';
#  923|               else if(ch > 0x0000007f)
#  924|->                 cur += caca_utf32_to_utf8(cur, ch);
#  925|               else switch((uint8_t)ch)
#  926|               {

Error: CPPCHECK_WARNING (CWE-401): [#def86]
libcaca-0.99.beta20/caca/codec/export.c:943: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  941|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  942|       *bytes = (uintptr_t)(cur - data);
#  943|->     data = realloc(data, *bytes);
#  944|   
#  945|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def87]
libcaca-0.99.beta20/caca/codec/export.c:945:12: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:874:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:945:12: danger: ‘data’ leaks here; was allocated at [(1)](sarif:/runs/0/results/54/codeFlows/0/threadFlows/0/locations/0)
#  943|       data = realloc(data, *bytes);
#  944|   
#  945|->     return data;
#  946|   }
#  947|   

Error: CPPCHECK_WARNING (CWE-682): [#def88]
libcaca-0.99.beta20/caca/codec/export.c:972: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: pointer addition with NULL pointer.
#  970|   
#  971|       /* ID Length */
#  972|->     cur += write_u8(cur, 0);
#  973|       /* Color Map Type: no colormap */
#  974|       cur += write_u8(cur, 0);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def89]
libcaca-0.99.beta20/caca/codec/export.c:992:5: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:949:14: enter_function: entry to ‘export_tga’
libcaca-0.99.beta20/caca/codec/export.c:957:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:963:9: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:969:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:972:12: call_function: inlined call to ‘write_u8’ from ‘export_tga’
libcaca-0.99.beta20/caca/codec/export.c:992:5: danger: ‘data’ leaks here; was allocated at [(4)](sarif:/runs/0/results/55/codeFlows/0/threadFlows/0/locations/3)
#  990|   
#  991|       /* Image Data */
#  992|->     caca_render_canvas(cv, f, cur, w, h, 4 * w);
#  993|   
#  994|       /* Swap bytes. What a waste of time. */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def90]
libcaca-0.99.beta20/caca/codec/export.c:1049:26: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:1008:14: enter_function: entry to ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1025:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:1027:12: call_function: inlined call to ‘write_string’ from ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1033:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1035:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1038:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1049:55: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1049:26: danger: ‘data’ leaks here; was allocated at [(2)](sarif:/runs/0/results/56/codeFlows/0/threadFlows/0/locations/1)
# 1047|                   "red", "magenta", "yellow", "white",
# 1048|               };
# 1049|->             uint8_t fg = caca_attr_to_ansi_fg(lineattr[x]);
# 1050|               uint8_t bg = caca_attr_to_ansi_bg(lineattr[x]);
# 1051|               uint32_t ch = linechar[x];

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
libcaca-0.99.beta20/caca/codec/export.c:1050:26: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:1008:14: enter_function: entry to ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1025:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:1027:12: call_function: inlined call to ‘write_string’ from ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1033:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1035:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1038:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1049:55: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1050:26: danger: ‘data’ leaks here; was allocated at [(2)](sarif:/runs/0/results/57/codeFlows/0/threadFlows/0/locations/1)
# 1048|               };
# 1049|               uint8_t fg = caca_attr_to_ansi_fg(lineattr[x]);
# 1050|->             uint8_t bg = caca_attr_to_ansi_bg(lineattr[x]);
# 1051|               uint32_t ch = linechar[x];
# 1052|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def92]
libcaca-0.99.beta20/caca/codec/export.c:1070:28: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:1008:14: enter_function: entry to ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1025:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:1027:12: call_function: inlined call to ‘write_string’ from ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1033:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1035:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1038:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1049:55: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1038:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1049:55: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1055:16: branch_false: following ‘false’ branch (when ‘started != 0’)...
libcaca-0.99.beta20/caca/codec/export.c:1057:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1062:15: branch_false: following ‘false’ branch (when ‘ch != 92’)...
libcaca-0.99.beta20/caca/codec/export.c:1064:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1064:20: branch_true: following ‘true’ branch (when ‘ch == 32’)...
libcaca-0.99.beta20/caca/codec/export.c:1067:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1067:19: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1070:28: danger: ‘data’ leaks here; was allocated at [(2)](sarif:/runs/0/results/58/codeFlows/0/threadFlows/0/locations/1)
# 1068|                       cur += sprintf(cur, "%c%c", 0xc2, 0xa0);
# 1069|                   else
# 1070|->                     cur += caca_utf32_to_utf8(cur, ch);
# 1071|               }
# 1072|               else

Error: GCC_ANALYZER_WARNING (CWE-401): [#def93]
libcaca-0.99.beta20/caca/codec/export.c:1073:24: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:1008:14: enter_function: entry to ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1025:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:1027:12: call_function: inlined call to ‘write_string’ from ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1033:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1035:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1038:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1049:55: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1059:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/export.c:1062:15: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1062:15: branch_false: following ‘false’ branch (when ‘ch != 92’)...
libcaca-0.99.beta20/caca/codec/export.c:1064:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1064:20: branch_false: following ‘false’ branch (when ‘ch != 32’)...
libcaca-0.99.beta20/caca/codec/export.c:1073:24: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/export.c:1073:24: danger: ‘data’ leaks here; was allocated at [(2)](sarif:/runs/0/results/59/codeFlows/0/threadFlows/0/locations/1)
# 1071|               }
# 1072|               else
# 1073|->                 cur += caca_utf32_to_utf8(cur, ch);
# 1074|   
# 1075|               if(lineattr[x] & (CACA_BOLD|CACA_ITALICS))

Error: CPPCHECK_WARNING (CWE-401): [#def94]
libcaca-0.99.beta20/caca/codec/export.c:1088: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
# 1086|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
# 1087|       *bytes = (uintptr_t)(cur - data);
# 1088|->     data = realloc(data, *bytes);
# 1089|   
# 1090|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def95]
libcaca-0.99.beta20/caca/codec/export.c:1090:12: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/export.c:1008:14: enter_function: entry to ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1025:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/export.c:1027:12: call_function: inlined call to ‘write_string’ from ‘export_troff’
libcaca-0.99.beta20/caca/codec/export.c:1090:12: danger: ‘data’ leaks here; was allocated at [(2)](sarif:/runs/0/results/60/codeFlows/0/threadFlows/0/locations/1)
# 1088|       data = realloc(data, *bytes);
# 1089|   
# 1090|->     return data;
# 1091|   }
# 1092|   

Error: CPPCHECK_WARNING (CWE-401): [#def96]
libcaca-0.99.beta20/caca/codec/import.c:170: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  168|       while(!caca_file_eof(f))
#  169|       {
#  170|->         data = realloc(data, size + 1024);
#  171|           if(!data)
#  172|           {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def97]
libcaca-0.99.beta20/caca/codec/import.c:178:24: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/codec/import.c:249:9: enter_function: entry to ‘caca_import_area_from_file’
libcaca-0.99.beta20/caca/codec/import.c:256:11: call_function: calling ‘caca_import_canvas_from_file’ from ‘caca_import_area_from_file’
#  176|           }
#  177|   
#  178|->         ret = (ssize_t)caca_file_read(f, data + size, 1024);
#  179|           if(ret >= 0)
#  180|               size += ret;

Error: COMPILER_WARNING (CWE-563): [#def98]
libcaca-0.99.beta20/caca/codec/import.c:302:14: warning[-Wunused-but-set-variable]: variable ‘version’ set but not used
#  302 |     uint16_t version, flags;
#      |              ^~~~~~~
#  300|       size_t control_size, data_size, expected_size;
#  301|       unsigned int frames, f, n, offset;
#  302|->     uint16_t version, flags;
#  303|       int32_t xmin = 0, ymin = 0, xmax = 0, ymax = 0;
#  304|   

Error: COMPILER_WARNING (CWE-563): [#def99]
libcaca-0.99.beta20/caca/codec/import.c:302:23: warning[-Wunused-but-set-variable]: variable ‘flags’ set but not used
#  302 |     uint16_t version, flags;
#      |                       ^~~~~
#  300|       size_t control_size, data_size, expected_size;
#  301|       unsigned int frames, f, n, offset;
#  302|->     uint16_t version, flags;
#  303|       int32_t xmin = 0, ymin = 0, xmax = 0, ymax = 0;
#  304|   

Error: COMPILER_WARNING (CWE-563): [#def100]
libcaca-0.99.beta20/caca/codec/import.c:332:37: warning[-Wunused-but-set-variable]: variable ‘duration’ set but not used
#  332 |         unsigned int width, height, duration;
#      |                                     ^~~~~~~~
#  330|       for(expected_size = 0, f = 0; f < frames; f++)
#  331|       {
#  332|->         unsigned int width, height, duration;
#  333|           uint32_t attr;
#  334|           int x, y, handlex, handley;

Error: COMPILER_WARNING (CWE-563): [#def101]
libcaca-0.99.beta20/caca/codec/import.c:333:18: warning[-Wunused-but-set-variable]: variable ‘attr’ set but not used
#  333 |         uint32_t attr;
#      |                  ^~~~
#  331|       {
#  332|           unsigned int width, height, duration;
#  333|->         uint32_t attr;
#  334|           int x, y, handlex, handley;
#  335|   

Error: COMPILER_WARNING (CWE-563): [#def102]
libcaca-0.99.beta20/caca/codec/import.c:334:13: warning[-Wunused-but-set-variable]: variable ‘x’ set but not used
#  334 |         int x, y, handlex, handley;
#      |             ^
#  332|           unsigned int width, height, duration;
#  333|           uint32_t attr;
#  334|->         int x, y, handlex, handley;
#  335|   
#  336|           width = sscanu32(buf + 4 + 16 + f * 32);

Error: COMPILER_WARNING (CWE-563): [#def103]
libcaca-0.99.beta20/caca/codec/import.c: scope_hint: In function ‘import_caca’
libcaca-0.99.beta20/caca/codec/import.c:334:16: warning[-Wunused-but-set-variable]: variable ‘y’ set but not used
#  334 |         int x, y, handlex, handley;
#      |                ^
#  332|           unsigned int width, height, duration;
#  333|           uint32_t attr;
#  334|->         int x, y, handlex, handley;
#  335|   
#  336|           width = sscanu32(buf + 4 + 16 + f * 32);

Error: CPPCHECK_WARNING (CWE-476): [#def104]
libcaca-0.99.beta20/caca/codec/text.c:383: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: string
#  381|   
#  382|               string = malloc(final - (semicolon + 1) + 1);
#  383|->             memcpy(string, buffer + (semicolon + 1), final - (semicolon + 1));
#  384|               string[final - (semicolon + 1)] = '\0';
#  385|               debug("ansi import: got OSC command %i string '%s'", command,

Error: CPPCHECK_WARNING (CWE-476): [#def105]
libcaca-0.99.beta20/caca/codec/text.c:384: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: string
#  382|               string = malloc(final - (semicolon + 1) + 1);
#  383|               memcpy(string, buffer + (semicolon + 1), final - (semicolon + 1));
#  384|->             string[final - (semicolon + 1)] = '\0';
#  385|               debug("ansi import: got OSC command %i string '%s'", command,
#  386|                     string);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def106]
libcaca-0.99.beta20/caca/codec/text.c:538:22: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:519:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:521:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:523:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:529:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:531:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:535:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:538:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:538:22: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  536|                   continue;
#  537|   
#  538|->             ansifg = caca_attr_to_ansi_fg(attr);
#  539|               ansibg = caca_attr_to_ansi_bg(attr);
#  540|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def107]
libcaca-0.99.beta20/caca/codec/text.c:539:22: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:519:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:521:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:523:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:529:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:531:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:535:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:538:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:539:22: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  537|   
#  538|               ansifg = caca_attr_to_ansi_fg(attr);
#  539|->             ansibg = caca_attr_to_ansi_bg(attr);
#  540|   
#  541|               fg = ansifg < 0x10 ? palette[ansifg] : 0x10;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def108]
libcaca-0.99.beta20/caca/codec/text.c:547:24: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:519:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:521:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:523:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:529:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:531:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:535:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:538:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:545:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:547:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:547:24: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  545|               if(fg != prevfg || bg != prevbg)
#  546|               {
#  547|->                 cur += sprintf(cur, "\033[0");
#  548|   
#  549|                   if(fg < 8)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def109]
libcaca-0.99.beta20/caca/codec/text.c:562:20: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:519:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:521:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:523:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:529:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:531:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:535:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:538:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:545:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:562:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:562:20: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  560|               }
#  561|   
#  562|->             cur += caca_utf32_to_utf8(cur, ch);
#  563|   
#  564|               prevfg = fg;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def110]
libcaca-0.99.beta20/caca/codec/text.c:571:16: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:519:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:521:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:523:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:568:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:571:16: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:571:16: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  569|               cur += sprintf(cur, "\033[0m");
#  570|   
#  571|->         cur += sprintf(cur, cr ? "\r\n" : "\n");
#  572|       }
#  573|   

Error: CPPCHECK_WARNING (CWE-682): [#def111]
libcaca-0.99.beta20/caca/codec/text.c:577: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: overflow in pointer arithmetic, NULL pointer is subtracted.
#  575|       debug("utf8 export: alloc %lu bytes, realloc %lu",
#  576|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  577|->     *bytes = (uintptr_t)(cur - data);
#  578|       data = realloc(data, *bytes);
#  579|   

Error: CPPCHECK_WARNING (CWE-401): [#def112]
libcaca-0.99.beta20/caca/codec/text.c:578: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  576|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  577|       *bytes = (uintptr_t)(cur - data);
#  578|->     data = realloc(data, *bytes);
#  579|   
#  580|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def113]
libcaca-0.99.beta20/caca/codec/text.c:580:12: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:519:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:521:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:577:25: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:580:12: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  578|       data = realloc(data, *bytes);
#  579|   
#  580|->     return data;
#  581|   }
#  582|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def114]
libcaca-0.99.beta20/caca/codec/text.c:611:30: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:602:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:604:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:606:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:609:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:611:59: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:611:30: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  609|           for(x = 0; x < cv->width; x++)
#  610|           {
#  611|->             uint8_t ansifg = caca_attr_to_ansi_fg(lineattr[x]);
#  612|               uint8_t ansibg = caca_attr_to_ansi_bg(lineattr[x]);
#  613|               uint8_t fg = ansifg < 0x10 ? palette[ansifg] : CACA_LIGHTGRAY;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def115]
libcaca-0.99.beta20/caca/codec/text.c:612:30: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:602:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:604:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:606:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:609:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:611:59: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:612:30: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/0)
#  610|           {
#  611|               uint8_t ansifg = caca_attr_to_ansi_fg(lineattr[x]);
#  612|->             uint8_t ansibg = caca_attr_to_ansi_bg(lineattr[x]);
#  613|               uint8_t fg = ansifg < 0x10 ? palette[ansifg] : CACA_LIGHTGRAY;
#  614|               uint8_t bg = ansibg < 0x10 ? palette[ansibg] : CACA_BLACK;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def116]
libcaca-0.99.beta20/caca/codec/text.c:622:24: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:602:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:604:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:606:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:609:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:611:59: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:620:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:622:24: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:622:24: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  620|               if(fg != prevfg || bg != prevbg)
#  621|               {
#  622|->                 cur += sprintf(cur, "\033[0;");
#  623|   
#  624|                   if(fg < 8)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def117]
libcaca-0.99.beta20/caca/codec/text.c:636:13: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:602:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:604:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:606:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:609:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:611:59: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:620:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:636:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:636:13: danger: ‘cur’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  634|               }
#  635|   
#  636|->             *cur++ = caca_utf32_to_cp437(ch);
#  637|   
#  638|               prevfg = fg;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def118]
libcaca-0.99.beta20/caca/codec/text.c:636:22: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:602:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:604:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:606:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:609:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:611:59: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:620:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:636:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:636:22: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  634|               }
#  635|   
#  636|->             *cur++ = caca_utf32_to_cp437(ch);
#  637|   
#  638|               prevfg = fg;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def119]
libcaca-0.99.beta20/caca/codec/text.c:648:20: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:602:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:604:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:606:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:609:20: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:642:11: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:642:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:648:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:648:20: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  646|           else
#  647|           {
#  648|->             cur += sprintf(cur, "\033[0m\r\n");
#  649|               prevfg = -1;
#  650|               prevbg = -1;

Error: CPPCHECK_WARNING (CWE-682): [#def120]
libcaca-0.99.beta20/caca/codec/text.c:657: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: overflow in pointer arithmetic, NULL pointer is subtracted.
#  655|       debug("ansi export: alloc %lu bytes, realloc %lu",
#  656|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  657|->     *bytes = (uintptr_t)(cur - data);
#  658|       data = realloc(data, *bytes);
#  659|   

Error: CPPCHECK_WARNING (CWE-401): [#def121]
libcaca-0.99.beta20/caca/codec/text.c:658: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  656|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  657|       *bytes = (uintptr_t)(cur - data);
#  658|->     data = realloc(data, *bytes);
#  659|   
#  660|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def122]
libcaca-0.99.beta20/caca/codec/text.c:660:12: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:602:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:604:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:657:25: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:660:12: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/0)
#  658|       data = realloc(data, *bytes);
#  659|   
#  660|->     return data;
#  661|   }
#  662|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def123]
libcaca-0.99.beta20/caca/codec/text.c:705:22: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:696:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:698:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:702:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:705:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:705:22: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/0)
#  703|                   continue;
#  704|   
#  705|->             ansifg = caca_attr_to_ansi_fg(attr);
#  706|               ansibg = caca_attr_to_ansi_bg(attr);
#  707|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def124]
libcaca-0.99.beta20/caca/codec/text.c:706:22: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:696:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:698:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:702:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:705:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:706:22: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/0)
#  704|   
#  705|               ansifg = caca_attr_to_ansi_fg(attr);
#  706|->             ansibg = caca_attr_to_ansi_bg(attr);
#  707|   
#  708|               fg = ansifg < 0x10 ? palette[ansifg] : 0x10;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def125]
libcaca-0.99.beta20/caca/codec/text.c:721:32: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:696:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:698:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:702:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:705:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:714:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_true: following ‘true’ branch (when ‘bg == 16’)...
libcaca-0.99.beta20/caca/codec/text.c:720:23: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:720:23: branch_true: following ‘true’ branch (when ‘fg == 16’)...
libcaca-0.99.beta20/caca/codec/text.c:721:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:721:32: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  719|                   {
#  720|                       if(fg == 0x10)
#  721|->                         cur += sprintf(cur, "\x0f");
#  722|                       else
#  723|                       {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def126]
libcaca-0.99.beta20/caca/codec/text.c:725:36: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:696:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:698:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:702:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:705:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:714:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_true: following ‘true’ branch (when ‘bg == 16’)...
libcaca-0.99.beta20/caca/codec/text.c:720:23: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:720:23: branch_false: following ‘false’ branch (when ‘fg != 16’)...
libcaca-0.99.beta20/caca/codec/text.c:724:27: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:724:27: branch_true: following ‘true’ branch (when ‘prevbg == 16’)...
libcaca-0.99.beta20/caca/codec/text.c:725:36: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:725:36: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  723|                       {
#  724|                           if(prevbg == 0x10)
#  725|->                             cur += sprintf(cur, "\x03%d", fg);
#  726|                           else
#  727|                               cur += sprintf(cur, "\x0f\x03%d", fg);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def127]
libcaca-0.99.beta20/caca/codec/text.c:736:32: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:696:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:698:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:702:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:705:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:714:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_false: following ‘false’ branch (when ‘bg != 16’)...
libcaca-0.99.beta20/caca/codec/text.c:735:23: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:735:23: branch_true: following ‘true’ branch (when ‘fg == 16’)...
libcaca-0.99.beta20/caca/codec/text.c:736:32: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:736:32: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  734|                   {
#  735|                       if(fg == 0x10)
#  736|->                         cur += sprintf(cur, "\x0f\x03,%d", bg);
#  737|                       else
#  738|                           cur += sprintf(cur, "\x03%d,%d", fg, bg);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def128]
libcaca-0.99.beta20/caca/codec/text.c:738:32: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘cur’ where non-null expected
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:696:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:698:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:702:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:705:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:714:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:718:19: branch_false: following ‘false’ branch (when ‘bg != 16’)...
libcaca-0.99.beta20/caca/codec/text.c:735:23: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:735:23: branch_false: following ‘false’ branch (when ‘fg != 16’)...
libcaca-0.99.beta20/caca/codec/text.c:738:32: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:738:32: danger: argument 1 (‘cur’) from [(1)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  736|                           cur += sprintf(cur, "\x0f\x03,%d", bg);
#  737|                       else
#  738|->                         cur += sprintf(cur, "\x03%d,%d", fg, bg);
#  739|                   }
#  740|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def129]
libcaca-0.99.beta20/caca/codec/text.c:748:20: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:696:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:698:37: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:702:15: branch_false: following ‘false’ branch (when ‘ch != 1048574’)...
libcaca-0.99.beta20/caca/codec/text.c:705:22: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:714:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:748:20: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:748:20: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/0)
#  746|               }
#  747|   
#  748|->             cur += caca_utf32_to_utf8(cur, ch);
#  749|               prevfg = fg;
#  750|               prevbg = bg;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def130]
libcaca-0.99.beta20/caca/codec/text.c:755:13: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:754:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:755:14: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:755:13: danger: ‘cur’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/0)
#  753|           /* TODO: do the same the day we optimise whole lines above */
#  754|           if(!cv->width)
#  755|->             *cur++ = ' ';
#  756|   
#  757|           *cur++ = '\r';

Error: GCC_ANALYZER_WARNING (CWE-476): [#def131]
libcaca-0.99.beta20/caca/codec/text.c:757:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:690:30: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:754:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:757:9: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:757:9: danger: ‘cur’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/0)
#  755|               *cur++ = ' ';
#  756|   
#  757|->         *cur++ = '\r';
#  758|           *cur++ = '\n';
#  759|       }

Error: CPPCHECK_WARNING (CWE-682): [#def132]
libcaca-0.99.beta20/caca/codec/text.c:764: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: overflow in pointer arithmetic, NULL pointer is subtracted.
#  762|       debug("IRC export: alloc %lu bytes, realloc %lu",
#  763|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  764|->     *bytes = (uintptr_t)(cur - data);
#  765|       data = realloc(data, *bytes);
#  766|   

Error: CPPCHECK_WARNING (CWE-401): [#def133]
libcaca-0.99.beta20/caca/codec/text.c:765: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  763|             (unsigned long int)*bytes, (unsigned long int)(cur - data));
#  764|       *bytes = (uintptr_t)(cur - data);
#  765|->     data = realloc(data, *bytes);
#  766|   
#  767|       return data;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def134]
libcaca-0.99.beta20/caca/codec/text.c:767:12: warning[-Wanalyzer-malloc-leak]: leak of ‘cur’
libcaca-0.99.beta20/caca/codec/text.c:686:18: acquire_memory: allocated here
libcaca-0.99.beta20/caca/codec/text.c:688:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:764:25: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:767:12: danger: ‘cur’ leaks here; was allocated at [(1)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/0)
#  765|       data = realloc(data, *bytes);
#  766|   
#  767|->     return data;
#  768|   }
#  769|   

Error: GCC_ANALYZER_WARNING (CWE-787): [#def135]
libcaca-0.99.beta20/caca/codec/text.c:790:22: warning[-Wanalyzer-out-of-bounds]: buffer over-read
libcaca-0.99.beta20/caca/codec/text.c:784:16: branch_true: following ‘true’ branch (when ‘j < argc’)...
libcaca-0.99.beta20/caca/codec/text.c:787:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:787:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:789:17: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:789:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:790:22: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:790:22: danger: read of 1 byte at offset ‘*argv + 4294967256’ exceeds ‘ansi2caca’
#  788|               im->fg = ansi2caca[argv[j] - 30];
#  789|           else if(argv[j] >= 40 && argv[j] <= 47)
#  790|->             im->bg = ansi2caca[argv[j] - 40];
#  791|           else if(argv[j] >= 90 && argv[j] <= 97)
#  792|               im->fg = ansi2caca[argv[j] - 90] + 8;

Error: GCC_ANALYZER_WARNING (CWE-787): [#def136]
libcaca-0.99.beta20/caca/codec/text.c:792:22: warning[-Wanalyzer-out-of-bounds]: buffer over-read
libcaca-0.99.beta20/caca/codec/text.c:784:16: branch_true: following ‘true’ branch (when ‘j < argc’)...
libcaca-0.99.beta20/caca/codec/text.c:787:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:787:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:789:17: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:789:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:791:17: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:791:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:792:22: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:792:22: danger: read of 1 byte at offset ‘*argv + 4294967206’ exceeds ‘ansi2caca’
#  790|               im->bg = ansi2caca[argv[j] - 40];
#  791|           else if(argv[j] >= 90 && argv[j] <= 97)
#  792|->             im->fg = ansi2caca[argv[j] - 90] + 8;
#  793|           else if(argv[j] >= 100 && argv[j] <= 107)
#  794|               im->bg = ansi2caca[argv[j] - 100] + 8;

Error: GCC_ANALYZER_WARNING (CWE-787): [#def137]
libcaca-0.99.beta20/caca/codec/text.c:794:22: warning[-Wanalyzer-out-of-bounds]: buffer over-read
libcaca-0.99.beta20/caca/codec/text.c:784:16: branch_true: following ‘true’ branch (when ‘j < argc’)...
libcaca-0.99.beta20/caca/codec/text.c:787:16: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:787:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:789:17: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:789:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:791:17: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:791:16: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/codec/text.c:793:17: branch_false: ...to here
libcaca-0.99.beta20/caca/codec/text.c:793:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/codec/text.c:794:22: branch_true: ...to here
libcaca-0.99.beta20/caca/codec/text.c:794:22: danger: read of 1 byte at offset ‘*argv + 4294967196’ exceeds ‘ansi2caca’
#  792|               im->fg = ansi2caca[argv[j] - 90] + 8;
#  793|           else if(argv[j] >= 100 && argv[j] <= 107)
#  794|->             im->bg = ansi2caca[argv[j] - 100] + 8;
#  795|           else switch(argv[j])
#  796|           {

Error: COMPILER_WARNING (CWE-483): [#def138]
libcaca-0.99.beta20/caca/dither.c: scope_hint: In function ‘rgb2hsv_default’
libcaca-0.99.beta20/caca/dither.c:213:5: warning[-Wmisleading-indentation]: this ‘if’ clause does not guard...
#  213 |     if(min > g) min = g; if(max < g) max = g;
#      |     ^~
libcaca-0.99.beta20/caca/dither.c:213:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
#  213 |     if(min > g) min = g; if(max < g) max = g;
#      |                          ^~
#  211|   
#  212|       min = r; max = r;
#  213|->     if(min > g) min = g; if(max < g) max = g;
#  214|       if(min > b) min = b; if(max < b) max = b;
#  215|   

Error: COMPILER_WARNING (CWE-483): [#def139]
libcaca-0.99.beta20/caca/dither.c:214:5: warning[-Wmisleading-indentation]: this ‘if’ clause does not guard...
#  214 |     if(min > b) min = b; if(max < b) max = b;
#      |     ^~
libcaca-0.99.beta20/caca/dither.c:214:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
#  214 |     if(min > b) min = b; if(max < b) max = b;
#      |                          ^~
#  212|       min = r; max = r;
#  213|       if(min > g) min = g; if(max < g) max = g;
#  214|->     if(min > b) min = b; if(max < b) max = b;
#  215|   
#  216|       delta = max - min; /* 0 - 0xfff */

Error: COMPILER_WARNING (CWE-563): [#def140]
libcaca-0.99.beta20/caca/dither.c: scope_hint: In function ‘caca_dither_bitmap’
libcaca-0.99.beta20/caca/dither.c:946:25: warning[-Wunused-but-set-variable]: variable ‘pitch’ set but not used
#  946 |     int x1, y1, x2, y2, pitch, deltax, deltay, dchmax;
#      |                         ^~~~~
#  944|       uint32_t savedattr;
#  945|       int fs_length;
#  946|->     int x1, y1, x2, y2, pitch, deltax, deltay, dchmax;
#  947|   
#  948|       if(!d || !pixels)

Error: CPPCHECK_WARNING (CWE-476): [#def141]
libcaca-0.99.beta20/caca/dither.c:967: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: floyd_steinberg
#  965|       fs_length = ((int)cv->width <= x2 ? (int)cv->width : x2) + 1;
#  966|       floyd_steinberg = malloc(3 * (fs_length + 2) * sizeof(int));
#  967|->     memset(floyd_steinberg, 0, 3 * (fs_length + 2) * sizeof(int));
#  968|       fs_r = floyd_steinberg + 1;
#  969|       fs_g = fs_r + fs_length + 2;

Error: CPPCHECK_WARNING (CWE-682): [#def142]
libcaca-0.99.beta20/caca/dither.c:968: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: pointer addition with NULL pointer.
#  966|       floyd_steinberg = malloc(3 * (fs_length + 2) * sizeof(int));
#  967|       memset(floyd_steinberg, 0, 3 * (fs_length + 2) * sizeof(int));
#  968|->     fs_r = floyd_steinberg + 1;
#  969|       fs_g = fs_r + fs_length + 2;
#  970|       fs_b = fs_g + fs_length + 2;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def143]
libcaca-0.99.beta20/caca/dither.c:976:34: warning[-Wanalyzer-malloc-leak]: leak of ‘floyd_steinberg’
libcaca-0.99.beta20/caca/dither.c:948:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:951:17: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:966:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/dither.c:972:30: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:976:34: danger: ‘floyd_steinberg’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  974|           int remain_r = 0, remain_g = 0, remain_b = 0;
#  975|   
#  976|->         for(x = x1 > 0 ? x1 : 0, d->init_dither(y);
#  977|               x <= x2 && x <= (int)cv->width;
#  978|               x++)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def144]
libcaca-0.99.beta20/caca/dither.c:1059:25: warning[-Wanalyzer-malloc-leak]: leak of ‘floyd_steinberg’
libcaca-0.99.beta20/caca/dither.c:948:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:951:17: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:966:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/dither.c:972:30: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:977:13: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:1051:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1059:25: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1059:25: danger: ‘floyd_steinberg’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
# 1057|           else
# 1058|           {
# 1059|->             rgba[0] += (d->get_dither() - 0x80) * 4;
# 1060|               rgba[1] += (d->get_dither() - 0x80) * 4;
# 1061|               rgba[2] += (d->get_dither() - 0x80) * 4;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def145]
libcaca-0.99.beta20/caca/dither.c:1060:25: warning[-Wanalyzer-malloc-leak]: leak of ‘floyd_steinberg’
libcaca-0.99.beta20/caca/dither.c:948:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:951:17: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:966:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/dither.c:972:30: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:977:13: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:1051:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1059:25: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1060:25: danger: ‘floyd_steinberg’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
# 1058|           {
# 1059|               rgba[0] += (d->get_dither() - 0x80) * 4;
# 1060|->             rgba[1] += (d->get_dither() - 0x80) * 4;
# 1061|               rgba[2] += (d->get_dither() - 0x80) * 4;
# 1062|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def146]
libcaca-0.99.beta20/caca/dither.c:1061:25: warning[-Wanalyzer-malloc-leak]: leak of ‘floyd_steinberg’
libcaca-0.99.beta20/caca/dither.c:948:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:951:17: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:966:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/dither.c:972:30: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:977:13: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:1051:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1059:25: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1061:25: danger: ‘floyd_steinberg’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
# 1059|               rgba[0] += (d->get_dither() - 0x80) * 4;
# 1060|               rgba[1] += (d->get_dither() - 0x80) * 4;
# 1061|->             rgba[2] += (d->get_dither() - 0x80) * 4;
# 1062|           }
# 1063|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def147]
libcaca-0.99.beta20/caca/dither.c:1185:9: warning[-Wanalyzer-malloc-leak]: leak of ‘floyd_steinberg’
libcaca-0.99.beta20/caca/dither.c:940:5: enter_function: entry to ‘caca_dither_bitmap’
libcaca-0.99.beta20/caca/dither.c:948:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:951:17: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:966:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/dither.c:972:30: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:977:13: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:992:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1020:31: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1031:13: call_function: calling ‘get_rgba_default’ from ‘caca_dither_bitmap’
libcaca-0.99.beta20/caca/dither.c:1031:13: return_function: returning to ‘caca_dither_bitmap’ from ‘get_rgba_default’
libcaca-0.99.beta20/caca/dither.c:1051:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1059:25: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1065:20: branch_true: following ‘true’ branch (when ‘i != 16’)...
libcaca-0.99.beta20/caca/dither.c:1067:16: branch_true: ...to here
libcaca-0.99.beta20/caca/dither.c:1065:20: branch_false: following ‘false’ branch (when ‘i == 16’)...
libcaca-0.99.beta20/caca/dither.c:1081:28: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1153:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1162:12: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1162:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1178:12: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1185:9: danger: ‘floyd_steinberg’ leaks here; was allocated at [(4)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/3)
# 1183|   
# 1184|           /* Now output the character */
# 1185|->         caca_set_color_ansi(cv, outfg, outbg);
# 1186|           caca_put_char(cv, x, y, outch);
# 1187|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def148]
libcaca-0.99.beta20/caca/dither.c:1186:9: warning[-Wanalyzer-malloc-leak]: leak of ‘floyd_steinberg’
libcaca-0.99.beta20/caca/dither.c:940:5: enter_function: entry to ‘caca_dither_bitmap’
libcaca-0.99.beta20/caca/dither.c:948:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:951:17: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:966:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/dither.c:972:30: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:977:13: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:992:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1020:31: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1031:13: call_function: calling ‘get_rgba_default’ from ‘caca_dither_bitmap’
libcaca-0.99.beta20/caca/dither.c:1031:13: return_function: returning to ‘caca_dither_bitmap’ from ‘get_rgba_default’
libcaca-0.99.beta20/caca/dither.c:1051:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1059:25: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1065:20: branch_true: following ‘true’ branch (when ‘i != 16’)...
libcaca-0.99.beta20/caca/dither.c:1067:16: branch_true: ...to here
libcaca-0.99.beta20/caca/dither.c:1065:20: branch_false: following ‘false’ branch (when ‘i == 16’)...
libcaca-0.99.beta20/caca/dither.c:1081:28: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1153:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1162:12: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1162:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1178:12: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1186:9: danger: ‘floyd_steinberg’ leaks here; was allocated at [(4)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/3)
# 1184|           /* Now output the character */
# 1185|           caca_set_color_ansi(cv, outfg, outbg);
# 1186|->         caca_put_char(cv, x, y, outch);
# 1187|   
# 1188|           d->increment_dither();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def149]
libcaca-0.99.beta20/caca/dither.c:1188:9: warning[-Wanalyzer-malloc-leak]: leak of ‘floyd_steinberg’
libcaca-0.99.beta20/caca/dither.c:940:5: enter_function: entry to ‘caca_dither_bitmap’
libcaca-0.99.beta20/caca/dither.c:948:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:951:17: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:966:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/dither.c:972:30: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:977:13: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/dither.c:992:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1020:31: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1031:13: call_function: calling ‘get_rgba_default’ from ‘caca_dither_bitmap’
libcaca-0.99.beta20/caca/dither.c:1031:13: return_function: returning to ‘caca_dither_bitmap’ from ‘get_rgba_default’
libcaca-0.99.beta20/caca/dither.c:1051:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1059:25: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1065:20: branch_true: following ‘true’ branch (when ‘i != 16’)...
libcaca-0.99.beta20/caca/dither.c:1067:16: branch_true: ...to here
libcaca-0.99.beta20/caca/dither.c:1065:20: branch_false: following ‘false’ branch (when ‘i == 16’)...
libcaca-0.99.beta20/caca/dither.c:1081:28: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1153:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1162:12: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1162:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/dither.c:1178:12: branch_false: ...to here
libcaca-0.99.beta20/caca/dither.c:1188:9: danger: ‘floyd_steinberg’ leaks here; was allocated at [(4)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/3)
# 1186|           caca_put_char(cv, x, y, outch);
# 1187|   
# 1188|->         d->increment_dither();
# 1189|       }
# 1190|           /* end loop */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def150]
libcaca-0.99.beta20/caca/driver/gl.c:551:5: warning[-Wanalyzer-malloc-leak]: leak of ‘image’
libcaca-0.99.beta20/caca/driver/gl.c:549:13: acquire_memory: allocated here
libcaca-0.99.beta20/caca/driver/gl.c:551:5: danger: ‘image’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  549|       image = malloc(b * dp->drv.p->font_height *
#  550|                      2 * dp->drv.p->font_width * sizeof(uint32_t));
#  551|->     caca_render_canvas(cv, dp->drv.p->f, image, 2 * dp->drv.p->font_width,
#  552|                           b * dp->drv.p->font_height, 8 * dp->drv.p->font_width);
#  553|       caca_free_canvas(cv);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def151]
libcaca-0.99.beta20/caca/driver/gl.c:558:9: warning[-Wanalyzer-malloc-leak]: leak of ‘malloc((long unsigned int)b * 4)’
libcaca-0.99.beta20/caca/driver/gl.c:556:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/driver/gl.c:558:9: danger: ‘malloc((long unsigned int)b * 4)’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  556|       dp->drv.p->txid = malloc(b * sizeof(int));
#  557|   
#  558|->     w = dp->drv.p->font_width <= 16 ? dp->drv.p->font_width : 16;
#  559|       h = dp->drv.p->font_height <= 16 ? dp->drv.p->font_height : 16;
#  560|   

Error: CPPCHECK_WARNING (CWE-682): [#def152]
libcaca-0.99.beta20/caca/driver/gl.c:568: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: pointer addition with NULL pointer.
#  566|           {
#  567|               uint8_t tmp[16 * 8 * 16];
#  568|->             uint32_t *glyph = image + (int)((b + j) * dp->drv.p->font_width * 2
#  569|                                               * dp->drv.p->font_height);
#  570|               int fullwidth =

Error: GCC_ANALYZER_WARNING (CWE-476): [#def153]
libcaca-0.99.beta20/caca/driver/ncurses.c:610:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*dp.drv.p’
libcaca-0.99.beta20/caca/driver/ncurses.c:207:12: enter_function: entry to ‘ncurses_init_graphics’
libcaca-0.99.beta20/caca/driver/ncurses.c:237:17: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/driver/ncurses.c:240:5: call_function: calling ‘ncurses_install_terminal’ from ‘ncurses_init_graphics’
#  608|       char *term, *colorterm;
#  609|   
#  610|->     dp->drv.p->term = NULL;
#  611|   
#  612|       term = getenv("TERM");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def154]
libcaca-0.99.beta20/caca/driver/ncurses.c:630:9: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(term)’
libcaca-0.99.beta20/caca/driver/ncurses.c:615:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/driver/ncurses.c:626:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/driver/ncurses.c:628:9: branch_false: ...to here
libcaca-0.99.beta20/caca/driver/ncurses.c:630:27: acquire_memory: allocated here
libcaca-0.99.beta20/caca/driver/ncurses.c:630:9: danger: ‘strdup(term)’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  628|           endwin();
#  629|           (void)putenv("TERM=xterm-16color");
#  630|->         dp->drv.p->term = strdup(term);
#  631|           return;
#  632|       }

Error: CPPCHECK_WARNING (CWE-476): [#def155]
libcaca-0.99.beta20/caca/driver/slang.c:128: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dp->drv.p
#  126|   {
#  127|       dp->drv.p = malloc(sizeof(struct driver_private));
#  128|->     dp->drv.p->sigint_event = 0;
#  129|   
#  130|   #if defined(HAVE_GETENV) && defined(HAVE_PUTENV)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def156]
libcaca-0.99.beta20/caca/driver/slang.c:128:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*dp.drv.p’
libcaca-0.99.beta20/caca/driver/slang.c:127:17: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/driver/slang.c:128:5: danger: ‘malloc(16)’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  126|   {
#  127|       dp->drv.p = malloc(sizeof(struct driver_private));
#  128|->     dp->drv.p->sigint_event = 0;
#  129|   
#  130|   #if defined(HAVE_GETENV) && defined(HAVE_PUTENV)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def157]
libcaca-0.99.beta20/caca/driver/slang.c:567:9: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(term)’
libcaca-0.99.beta20/caca/driver/slang.c:125:12: enter_function: entry to ‘slang_init_graphics’
libcaca-0.99.beta20/caca/driver/slang.c:131:5: call_function: calling ‘slang_install_terminal’ from ‘slang_init_graphics’
#  565|       {
#  566|           (void)putenv("TERM=xterm-16color");
#  567|->         dp->drv.p->term = strdup(term);
#  568|           return;
#  569|       }

Error: COMPILER_WARNING (CWE-563): [#def158]
libcaca-0.99.beta20/caca/figfont.c: scope_hint: In function ‘caca_put_figchar’
libcaca-0.99.beta20/caca/figfont.c:150:33: warning[-Wunused-but-set-variable]: variable ‘extra’ set but not used
#  150 |     int c, w, h, x, y, overlap, extra, xleft, xright;
#      |                                 ^~~~~
#  148|   {
#  149|       caca_charfont_t *ff = cv->ff;
#  150|->     int c, w, h, x, y, overlap, extra, xleft, xright;
#  151|   
#  152|       if (!ff)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def159]
libcaca-0.99.beta20/caca/figfont.c:328:9: warning[-Wanalyzer-malloc-leak]: leak of ‘ff’
libcaca-0.99.beta20/caca/figfont.c:320:10: acquire_memory: allocated here
libcaca-0.99.beta20/caca/figfont.c:321:7: branch_false: following ‘false’ branch (when ‘ff’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:328:9: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:328:9: danger: ‘ff’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  326|   
#  327|       /* Open font: if not found, try .tlf, then .flf */
#  328|->     f = caca_file_open(path, "r");
#  329|   #if !defined __KERNEL__ && (defined HAVE_SNPRINTF || defined HAVE_SPRINTF_S)
#  330|       if(!f)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def160]
libcaca-0.99.beta20/caca/figfont.c:340:13: warning[-Wanalyzer-malloc-leak]: leak of ‘ff’
libcaca-0.99.beta20/caca/figfont.c:320:10: acquire_memory: allocated here
libcaca-0.99.beta20/caca/figfont.c:321:7: branch_false: following ‘false’ branch (when ‘ff’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:328:9: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:330:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:331:19: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:340:13: danger: ‘ff’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  338|   #endif
#  339|           altpath[pathlen - 1] = '\0';
#  340|->         f = caca_file_open(altpath, "r");
#  341|       }
#  342|       if(!f)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def161]
libcaca-0.99.beta20/caca/figfont.c:350:13: warning[-Wanalyzer-malloc-leak]: leak of ‘ff’
libcaca-0.99.beta20/caca/figfont.c:320:10: acquire_memory: allocated here
libcaca-0.99.beta20/caca/figfont.c:321:7: branch_false: following ‘false’ branch (when ‘ff’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:328:9: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:330:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:331:19: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:342:7: branch_true: following ‘true’ branch (when ‘f’ is NULL)...
libcaca-0.99.beta20/caca/figfont.c:347:9: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:350:13: danger: ‘ff’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  348|   #endif
#  349|           altpath[pathlen - 1] = '\0';
#  350|->         f = caca_file_open(altpath, "r");
#  351|       }
#  352|       if (altpath)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def162]
libcaca-0.99.beta20/caca/figfont.c:366:5: warning[-Wanalyzer-malloc-leak]: leak of ‘ff’
libcaca-0.99.beta20/caca/figfont.c:320:10: acquire_memory: allocated here
libcaca-0.99.beta20/caca/figfont.c:321:7: branch_false: following ‘false’ branch (when ‘ff’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:328:9: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:342:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: following ‘false’ branch (when ‘altpath’ is NULL)...
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:363:5: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:366:5: danger: ‘ff’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  364|       ff->full_layout = 0;
#  365|       ff->codetag_count = 0;
#  366|->     caca_file_gets(f, buf, 2048);
#  367|       if(sscanf(buf, "%*[ft]lf2a%6s %u %u %u %i %u %u %u %u\n", hardblank,
#  368|                 &ff->height, &ff->baseline, &ff->max_length,

Error: CPPCHECK_WARNING (CWE-401): [#def163]
libcaca-0.99.beta20/caca/figfont.c:455: error[memleakOnRealloc]: Common realloc mistake: 'data' nulled but not freed upon failure
#  453|           {
#  454|               if(i + 2048 >= size)
#  455|->                 data = realloc(data, size += 2048);
#  456|   
#  457|               caca_file_gets(f, data + i, 2048);

Error: GCC_ANALYZER_WARNING (CWE-415): [#def164]
libcaca-0.99.beta20/caca/figfont.c:455:24: warning[-Wanalyzer-double-free]: double-‘free’ of ‘data’
libcaca-0.99.beta20/caca/figfont.c:321:7: branch_false: following ‘false’ branch (when ‘ff’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:328:9: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:342:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: following ‘false’ branch (when ‘altpath’ is NULL)...
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:363:5: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:367:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/figfont.c:379:8: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:379:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/figfont.c:402:26: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:404:13: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:452:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:454:16: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:454:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:455:38: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:452:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:454:16: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:454:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:455:38: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:452:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:454:16: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:454:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:455:38: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:455:24: danger: second ‘free’ here
#  453|           {
#  454|               if(i + 2048 >= size)
#  455|->                 data = realloc(data, size += 2048);
#  456|   
#  457|               caca_file_gets(f, data + i, 2048);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def165]
libcaca-0.99.beta20/caca/figfont.c:457:13: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
libcaca-0.99.beta20/caca/figfont.c:321:7: branch_false: following ‘false’ branch (when ‘ff’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:328:9: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:342:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: following ‘false’ branch (when ‘altpath’ is NULL)...
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:363:5: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:367:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/figfont.c:379:8: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:379:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/figfont.c:402:26: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:404:13: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:452:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:454:16: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:454:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:455:38: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:457:13: danger: ‘data’ leaks here; was allocated at [(19)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/18)
#  455|                   data = realloc(data, size += 2048);
#  456|   
#  457|->             caca_file_gets(f, data + i, 2048);
#  458|               i = (uintptr_t)strchr(data + i, 0) - (uintptr_t)data;
#  459|           }

Error: GCC_ANALYZER_WARNING (CWE-688): [#def166]
libcaca-0.99.beta20/caca/figfont.c:458:28: warning[-Wanalyzer-null-argument]: use of NULL ‘data’ where non-null expected
libcaca-0.99.beta20/caca/figfont.c:321:7: branch_false: following ‘false’ branch (when ‘ff’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:328:9: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:342:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:352:8: branch_false: following ‘false’ branch (when ‘altpath’ is NULL)...
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:355:7: branch_false: following ‘false’ branch (when ‘f’ is non-NULL)...
libcaca-0.99.beta20/caca/figfont.c:363:5: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:367:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/figfont.c:379:8: branch_false: ...to here
libcaca-0.99.beta20/caca/figfont.c:379:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/figfont.c:402:26: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:404:13: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:452:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:454:16: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:454:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/figfont.c:455:38: branch_true: ...to here
libcaca-0.99.beta20/caca/figfont.c:457:13: release_memory: ‘data’ is NULL
libcaca-0.99.beta20/caca/figfont.c:458:28: danger: argument 1 (‘data + (sizetype)i’) NULL where non-null expected
#argument 1 of ‘__builtin_strlen’ must be non-null
#  456|   
#  457|               caca_file_gets(f, data + i, 2048);
#  458|->             i = (uintptr_t)strchr(data + i, 0) - (uintptr_t)data;
#  459|           }
#  460|       }

Error: CPPCHECK_WARNING (CWE-476): [#def167]
libcaca-0.99.beta20/caca/file.c:72: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: fp
#   70|       caca_file_t *fp = malloc(sizeof(*fp));
#   71|   
#   72|->     fp->readonly = !!strchr(mode, 'r');
#   73|   
#   74|   #   if defined HAVE_ZLIB_H

Error: GCC_ANALYZER_WARNING (CWE-476): [#def168]
libcaca-0.99.beta20/caca/file.c:72:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: this call could return NULL
libcaca-0.99.beta20/caca/file.c:72:5: danger: ‘fp’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   70|       caca_file_t *fp = malloc(sizeof(*fp));
#   71|   
#   72|->     fp->readonly = !!strchr(mode, 'r');
#   73|   
#   74|   #   if defined HAVE_ZLIB_H

Error: CPPCHECK_WARNING (CWE-476): [#def169]
libcaca-0.99.beta20/caca/file.c:78: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: fp
#   76|       unsigned int skip_size = 0;
#   77|   
#   78|->     fp->gz = gzopen(path, fp->readonly ? "rb" : "wb");
#   79|       if(!fp->gz)
#   80|       {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def170]
libcaca-0.99.beta20/caca/file.c:78:14: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/file.c:78:14: danger: ‘fp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   76|       unsigned int skip_size = 0;
#   77|   
#   78|->     fp->gz = gzopen(path, fp->readonly ? "rb" : "wb");
#   79|       if(!fp->gz)
#   80|       {

Error: CPPCHECK_WARNING (CWE-476): [#def171]
libcaca-0.99.beta20/caca/file.c:79: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: fp
#   77|   
#   78|       fp->gz = gzopen(path, fp->readonly ? "rb" : "wb");
#   79|->     if(!fp->gz)
#   80|       {
#   81|           free(fp);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def172]
libcaca-0.99.beta20/caca/file.c:93:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/file.c:79:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:86:5: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:90:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/file.c:93:9: branch_true: ...to here
libcaca-0.99.beta20/caca/file.c:93:9: danger: ‘fp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   91|       {
#   92|           /* Parse ZIP file and go to start of first file */
#   93|->         gzread(fp->gz, buf, 4);
#   94|           if(memcmp(buf, "PK\3\4", 4))
#   95|           {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def173]
libcaca-0.99.beta20/caca/file.c:96:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/file.c:79:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:86:5: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:90:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/file.c:93:9: branch_true: ...to here
libcaca-0.99.beta20/caca/file.c:94:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/file.c:96:13: branch_true: ...to here
libcaca-0.99.beta20/caca/file.c:96:13: danger: ‘fp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#   94|           if(memcmp(buf, "PK\3\4", 4))
#   95|           {
#   96|->             gzseek(fp->gz, 0, SEEK_SET);
#   97|               return fp;
#   98|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def174]
libcaca-0.99.beta20/caca/file.c:102:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/file.c:79:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:86:5: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:90:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/file.c:93:9: branch_true: ...to here
libcaca-0.99.beta20/caca/file.c:94:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:100:9: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:102:9: danger: ‘fp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#  100|           fp->zip = 1;
#  101|   
#  102|->         gzseek(fp->gz, 22, SEEK_CUR);
#  103|   
#  104|           gzread(fp->gz, buf, 2); /* Filename size */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def175]
libcaca-0.99.beta20/caca/file.c:104:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/file.c:79:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:86:5: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:90:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/file.c:93:9: branch_true: ...to here
libcaca-0.99.beta20/caca/file.c:94:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:100:9: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:104:9: danger: ‘fp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  102|           gzseek(fp->gz, 22, SEEK_CUR);
#  103|   
#  104|->         gzread(fp->gz, buf, 2); /* Filename size */
#  105|           skip_size += (uint16_t)buf[0] | ((uint16_t)buf[1] << 8);
#  106|           gzread(fp->gz, buf, 2); /* Extra field size */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def176]
libcaca-0.99.beta20/caca/file.c:106:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/file.c:79:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:86:5: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:90:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/file.c:93:9: branch_true: ...to here
libcaca-0.99.beta20/caca/file.c:94:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:100:9: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:106:9: danger: ‘fp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  104|           gzread(fp->gz, buf, 2); /* Filename size */
#  105|           skip_size += (uint16_t)buf[0] | ((uint16_t)buf[1] << 8);
#  106|->         gzread(fp->gz, buf, 2); /* Extra field size */
#  107|           skip_size += (uint16_t)buf[0] | ((uint16_t)buf[1] << 8);
#  108|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def177]
libcaca-0.99.beta20/caca/file.c:109:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libcaca-0.99.beta20/caca/file.c:70:23: acquire_memory: allocated here
libcaca-0.99.beta20/caca/file.c:79:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:86:5: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:90:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/file.c:93:9: branch_true: ...to here
libcaca-0.99.beta20/caca/file.c:94:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/file.c:100:9: branch_false: ...to here
libcaca-0.99.beta20/caca/file.c:109:9: danger: ‘fp’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  107|           skip_size += (uint16_t)buf[0] | ((uint16_t)buf[1] << 8);
#  108|   
#  109|->         gzseek(fp->gz, skip_size, SEEK_CUR);
#  110|   
#  111|           /* Initialise inflate stream */

Error: GCC_ANALYZER_WARNING (CWE-476): [#def178]
libcaca-0.99.beta20/caca/font.c:85:1: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘glyph’
libcaca-0.99.beta20/caca/font.c:415:5: enter_function: entry to ‘caca_render_canvas’
libcaca-0.99.beta20/caca/font.c:421:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:427:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:430:16: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:440:16: branch_true: following ‘true’ branch (when ‘y < ymax’)...
 branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:442:20: branch_true: following ‘true’ branch (when ‘x < xmax’)...
libcaca-0.99.beta20/caca/font.c:445:30: branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:466:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:469:18: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:481:17: call_function: calling ‘unpack_glyph4’ from ‘caca_render_canvas’
#   83|   }
#   84|   
#   85|-> DECLARE_UNPACKGLYPH(4)
#   86|   DECLARE_UNPACKGLYPH(2)
#   87|   DECLARE_UNPACKGLYPH(1)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def179]
libcaca-0.99.beta20/caca/font.c:86:1: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘glyph’
libcaca-0.99.beta20/caca/font.c:415:5: enter_function: entry to ‘caca_render_canvas’
libcaca-0.99.beta20/caca/font.c:421:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:427:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:430:16: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:440:16: branch_true: following ‘true’ branch (when ‘y < ymax’)...
 branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:442:20: branch_true: following ‘true’ branch (when ‘x < xmax’)...
libcaca-0.99.beta20/caca/font.c:445:30: branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:466:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:469:18: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:485:17: call_function: calling ‘unpack_glyph2’ from ‘caca_render_canvas’
#   84|   
#   85|   DECLARE_UNPACKGLYPH(4)
#   86|-> DECLARE_UNPACKGLYPH(2)
#   87|   DECLARE_UNPACKGLYPH(1)
#   88|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def180]
libcaca-0.99.beta20/caca/font.c:87:1: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘glyph’
libcaca-0.99.beta20/caca/font.c:415:5: enter_function: entry to ‘caca_render_canvas’
libcaca-0.99.beta20/caca/font.c:421:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:427:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:430:16: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:440:16: branch_true: following ‘true’ branch (when ‘y < ymax’)...
 branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:442:20: branch_true: following ‘true’ branch (when ‘x < xmax’)...
libcaca-0.99.beta20/caca/font.c:445:30: branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:466:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:469:18: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:489:17: call_function: calling ‘unpack_glyph1’ from ‘caca_render_canvas’
#   85|   DECLARE_UNPACKGLYPH(4)
#   86|   DECLARE_UNPACKGLYPH(2)
#   87|-> DECLARE_UNPACKGLYPH(1)
#   88|   
#   89|   /** \brief Load a font from memory for future use.

Error: GCC_ANALYZER_WARNING (CWE-476): [#def181]
libcaca-0.99.beta20/caca/font.c:505:25: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘glyph’
libcaca-0.99.beta20/caca/font.c:421:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:427:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:430:16: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:440:16: branch_true: following ‘true’ branch (when ‘y < ymax’)...
 branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:442:20: branch_true: following ‘true’ branch (when ‘x < xmax’)...
libcaca-0.99.beta20/caca/font.c:445:30: branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:466:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/font.c:469:18: branch_false: ...to here
libcaca-0.99.beta20/caca/font.c:495:24: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/font.c:498:25: branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:500:28: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/font.c:502:45: branch_true: ...to here
libcaca-0.99.beta20/caca/font.c:505:30: release_memory: ‘glyph’ is NULL
libcaca-0.99.beta20/caca/font.c:505:30: release_memory: ‘glyph’ is NULL
libcaca-0.99.beta20/caca/font.c:505:25: danger: dereference of NULL ‘glyph + (sizetype)((int)*g.width * j + i)’
#  503|                       uint32_t p, q, t;
#  504|   
#  505|->                     p = glyph[j * g->width + i];
#  506|                       q = 0xff - p;
#  507|   

Error: GCC_ANALYZER_WARNING (CWE-122): [#def182]
libcaca-0.99.beta20/caca/frame.c:160:9: warning[-Wanalyzer-out-of-bounds]: heap-based buffer over-read
libcaca-0.99.beta20/caca/frame.c:159:33: branch_true: following ‘true’ branch (when ‘id < f’)...
libcaca-0.99.beta20/caca/frame.c:160:35: branch_true: ...to here
libcaca-0.99.beta20/caca/frame.c:159:33: branch_true: following ‘true’ branch (when ‘id < f’)...
libcaca-0.99.beta20/caca/frame.c:160:35: branch_true: ...to here
libcaca-0.99.beta20/caca/frame.c:160:9: danger: read of 56 bytes at offset ‘(long unsigned int)(*cv.framecount + -1) * 56 + 18446744073709551560’ exceeds the buffer
#  158|   
#  159|       for(f = cv->framecount - 1; f > id; f--)
#  160|->         cv->frames[f] = cv->frames[f - 1];
#  161|   
#  162|       if(cv->frame >= id)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def183]
libcaca-0.99.beta20/caca/frame.c:259:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
libcaca-0.99.beta20/caca/frame.c:205:5: enter_function: entry to ‘caca_free_frame’
libcaca-0.99.beta20/caca/frame.c:209:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/frame.c:215:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/frame.c:221:10: branch_false: ...to here
libcaca-0.99.beta20/caca/frame.c:225:21: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/frame.c:228:5: branch_false: ...to here
libcaca-0.99.beta20/caca/frame.c:232:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/caca/frame.c:234:12: branch_false: ...to here
libcaca-0.99.beta20/caca/frame.c:234:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/caca/frame.c:236:9: branch_true: ...to here
libcaca-0.99.beta20/caca/frame.c:237:9: call_function: calling ‘_caca_load_frame_info’ from ‘caca_free_frame’
#  257|   void _caca_load_frame_info(caca_canvas_t *cv)
#  258|   {
#  259|->     cv->width = cv->frames[cv->frame].width;
#  260|       cv->height = cv->frames[cv->frame].height;
#  261|   

Error: UNICONTROL_WARNING (CWE-94): [#def184]
libcaca-0.99.beta20/caca/mono9.data:5773: warning: bidirectional control characters: ['\u202a']
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def185]
libcaca-0.99.beta20/caca/font.c:32: included_from: Included from here.
libcaca-0.99.beta20/caca/mono9.data:5773:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5773 | /* U+202A: "<U+202A>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202A (LEFT-TO-RIGHT EMBEDDING)
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def186]
libcaca-0.99.beta20/caca/mono9.data:5773:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def187]
libcaca-0.99.beta20/caca/mono9.data:5774: warning: bidirectional control characters: ['\u202b']
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def188]
libcaca-0.99.beta20/caca/mono9.data:5774:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5774 | /* U+202B: "<U+202B>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202B (RIGHT-TO-LEFT EMBEDDING)
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def189]
libcaca-0.99.beta20/caca/mono9.data:5774:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def190]
libcaca-0.99.beta20/caca/mono9.data:5775: warning: bidirectional control characters: ['\u202c']
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|-> /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def191]
libcaca-0.99.beta20/caca/mono9.data:5776: warning: bidirectional control characters: ['\u202d']
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def192]
libcaca-0.99.beta20/caca/mono9.data:5776:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5776 | /* U+202D: "<U+202D>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202D (LEFT-TO-RIGHT OVERRIDE)
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def193]
libcaca-0.99.beta20/caca/mono9.data:5776:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def194]
libcaca-0.99.beta20/caca/mono9.data:5777: warning: bidirectional control characters: ['\u202e']
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,8,248,0,0,243,240,1,8,248,7,80,0,90,32,3,200,0,0,180,0,0,8,248,8,248,243,240,243,248,248,8,248,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def195]
libcaca-0.99.beta20/caca/mono9.data:5777:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5777 | /* U+202E: "<U+202E>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202E (RIGHT-TO-LEFT OVERRIDE)
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,8,248,0,0,243,240,1,8,248,7,80,0,90,32,3,200,0,0,180,0,0,8,248,8,248,243,240,243,248,248,8,248,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def196]
libcaca-0.99.beta20/caca/mono9.data:5777:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,8,248,0,0,243,240,1,8,248,7,80,0,90,32,3,200,0,0,180,0,0,8,248,8,248,243,240,243,248,248,8,248,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def197]
libcaca-0.99.beta20/caca/mono9.data:5833: warning: bidirectional control characters: ['\u2066']
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: COMPILER_WARNING: [#def198]
libcaca-0.99.beta20/caca/mono9.data:5833:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5833 | /* U+2066: "<U+2066>" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+2066 (LEFT-TO-RIGHT ISOLATE)
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: COMPILER_WARNING: [#def199]
libcaca-0.99.beta20/caca/mono9.data:5833:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def200]
libcaca-0.99.beta20/caca/mono9.data:5834: warning: bidirectional control characters: ['\u2067']
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: COMPILER_WARNING: [#def201]
libcaca-0.99.beta20/caca/mono9.data:5834:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5834 | /* U+2067: "<U+2067>" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+2067 (RIGHT-TO-LEFT ISOLATE)
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: COMPILER_WARNING: [#def202]
libcaca-0.99.beta20/caca/mono9.data:5834:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def203]
libcaca-0.99.beta20/caca/mono9.data:5835: warning: bidirectional control characters: ['\u2068']
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: COMPILER_WARNING: [#def204]
libcaca-0.99.beta20/caca/mono9.data:5835:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5835 | /* U+2068: "<U+2068>" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+2068 (FIRST STRONG ISOLATE)
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: COMPILER_WARNING: [#def205]
libcaca-0.99.beta20/caca/mono9.data:5835:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def206]
libcaca-0.99.beta20/caca/mono9.data:5836: warning: bidirectional control characters: ['\u2069']
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5836|-> /* U+2069: "⁩" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,
# 5838|   /* U+206B: "" */ 0,0,0,0,255,255,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,240,0,240,15,0,15,0,255,255,240,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def207]
libcaca-0.99.beta20/caca/monobold12.data:5773: warning: bidirectional control characters: ['\u202a']
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def208]
libcaca-0.99.beta20/caca/font.c:33: included_from: Included from here.
libcaca-0.99.beta20/caca/monobold12.data:5773:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5773 | /* U+202A: "<U+202A>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202A (LEFT-TO-RIGHT EMBEDDING)
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def209]
libcaca-0.99.beta20/caca/monobold12.data:5773:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5771|   /* U+2028: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|-> /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def210]
libcaca-0.99.beta20/caca/monobold12.data:5774: warning: bidirectional control characters: ['\u202b']
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def211]
libcaca-0.99.beta20/caca/monobold12.data:5774:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5774 | /* U+202B: "<U+202B>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202B (RIGHT-TO-LEFT EMBEDDING)
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def212]
libcaca-0.99.beta20/caca/monobold12.data:5774:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5772|   /* U+2029: "
" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|-> /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def213]
libcaca-0.99.beta20/caca/monobold12.data:5775: warning: bidirectional control characters: ['\u202c']
# 5773|   /* U+202A: "‪" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|-> /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def214]
libcaca-0.99.beta20/caca/monobold12.data:5776: warning: bidirectional control characters: ['\u202d']
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def215]
libcaca-0.99.beta20/caca/monobold12.data:5776:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5776 | /* U+202D: "<U+202D>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202D (LEFT-TO-RIGHT OVERRIDE)
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def216]
libcaca-0.99.beta20/caca/monobold12.data:5776:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5774|   /* U+202B: "‫" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|-> /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|   /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def217]
libcaca-0.99.beta20/caca/monobold12.data:5777: warning: bidirectional control characters: ['\u202e']
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,228,0,0,0,227,62,0,0,0,227,62,0,3,16,94,229,2,170,16,0,2,173,64,0,1,159,112,0,0,143,178,0,0,0,180,0,0,0,0,94,228,5,238,64,227,62,14,51,224,227,62,14,51,224,94,228,5,238,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def218]
libcaca-0.99.beta20/caca/monobold12.data:5777:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5777 | /* U+202E: "<U+202E>" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+202E (RIGHT-TO-LEFT OVERRIDE)
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,228,0,0,0,227,62,0,0,0,227,62,0,3,16,94,229,2,170,16,0,2,173,64,0,1,159,112,0,0,143,178,0,0,0,180,0,0,0,0,94,228,5,238,64,227,62,14,51,224,227,62,14,51,224,94,228,5,238,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: COMPILER_WARNING: [#def219]
libcaca-0.99.beta20/caca/monobold12.data:5777:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5775|   /* U+202C: "‬" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5776|   /* U+202D: "‭" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5777|-> /* U+202E: "‮" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5778|   /* U+202F: " " */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
# 5779|   /* U+2030: "‰" */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,228,0,0,0,227,62,0,0,0,227,62,0,3,16,94,229,2,170,16,0,2,173,64,0,1,159,112,0,0,143,178,0,0,0,180,0,0,0,0,94,228,5,238,64,227,62,14,51,224,227,62,14,51,224,94,228,5,238,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def220]
libcaca-0.99.beta20/caca/monobold12.data:5833: warning: bidirectional control characters: ['\u2066']
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: COMPILER_WARNING: [#def221]
libcaca-0.99.beta20/caca/monobold12.data:5833:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5833 | /* U+2066: "<U+2066>" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+2066 (LEFT-TO-RIGHT ISOLATE)
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: COMPILER_WARNING: [#def222]
libcaca-0.99.beta20/caca/monobold12.data:5833:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5831|   /* U+2064: "⁤" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|-> /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def223]
libcaca-0.99.beta20/caca/monobold12.data:5834: warning: bidirectional control characters: ['\u2067']
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: COMPILER_WARNING: [#def224]
libcaca-0.99.beta20/caca/monobold12.data:5834:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5834 | /* U+2067: "<U+2067>" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+2067 (RIGHT-TO-LEFT ISOLATE)
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: COMPILER_WARNING: [#def225]
libcaca-0.99.beta20/caca/monobold12.data:5834:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5832|   /* U+2065: "⁥" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|-> /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def226]
libcaca-0.99.beta20/caca/monobold12.data:5835: warning: bidirectional control characters: ['\u2068']
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: COMPILER_WARNING: [#def227]
libcaca-0.99.beta20/caca/monobold12.data:5835:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5835 | /* U+2068: "<U+2068>" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
#      |             ~~~~~~~~   ^
#      |             |          |
#      |             |          end of bidirectional context
#      |             U+2068 (FIRST STRONG ISOLATE)
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: COMPILER_WARNING: [#def228]
libcaca-0.99.beta20/caca/monobold12.data:5835:16: warning[-Wbidi-chars=]: unpaired UTF-8 bidirectional control character detected
# 5833|   /* U+2066: "⁦" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|-> /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|   /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: UNICONTROL_WARNING (CWE-94): [#def229]
libcaca-0.99.beta20/caca/monobold12.data:5836: warning: bidirectional control characters: ['\u2069']
# 5834|   /* U+2067: "⁧" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5835|   /* U+2068: "⁨" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5836|-> /* U+2069: "⁩" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5837|   /* U+206A: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,
# 5838|   /* U+206B: "" */ 0,0,0,0,0,15,255,255,255,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,0,0,0,240,15,255,255,255,240,0,0,0,0,0,

Error: COMPILER_WARNING (CWE-563): [#def230]
libcaca-0.99.beta20/caca/string.c: scope_hint: In function ‘caca_blit’
libcaca-0.99.beta20/caca/string.c:462:51: warning[-Wunused-but-set-variable]: variable ‘bleed_left’ set but not used
#  462 |     int i, j, starti, startj, endi, endj, stride, bleed_left, bleed_right;
#      |                                                   ^~~~~~~~~~
#  460|                 caca_canvas_t const *src, caca_canvas_t const *mask)
#  461|   {
#  462|->     int i, j, starti, startj, endi, endj, stride, bleed_left, bleed_right;
#  463|   
#  464|       if(mask && (src->width != mask->width || src->height != mask->height))

Error: COMPILER_WARNING: [#def231]
libcaca-0.99.beta20/examples/conio.c:594:18: warning[-Warray-parameter=]: argument 1 of type ‘int[]’ with mismatched bound
#  594 | void sorting(int n[])
#      |              ~~~~^~~
libcaca-0.99.beta20/examples/conio.c:74:18: note: previously declared as ‘int[8]’
#   74 | void sorting(int n[X_BOARD]);
#      |              ~~~~^~~~~~~~~~
#  592|   }
#  593|   
#  594|-> void sorting(int n[])
#  595|   {
#  596|     int i, j, alpha;

Error: CPPCHECK_WARNING (CWE-476): [#def232]
libcaca-0.99.beta20/examples/event.c:58: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: events
#   56|   
#   57|       events = malloc(h * sizeof(caca_event_t));
#   58|->     memset(events, 0, h * sizeof(caca_event_t));
#   59|   
#   60|       for(quit = 0; quit < 4; )

Error: GCC_ANALYZER_WARNING (CWE-401): [#def233]
libcaca-0.99.beta20/examples/event.c:64:19: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:64:19: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   62|           caca_event_t ev;
#   63|           static char const * quit_string[] = { "", "q", "qu", "qui", "quit" };
#   64|->         int ret = caca_get_event(dp, CACA_EVENT_ANY, &ev, -1);
#   65|   
#   66|           if(!ret)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def234]
libcaca-0.99.beta20/examples/event.c:72:16: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:72:16: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   70|           {
#   71|               /* "quit" quits */
#   72|->             if(caca_get_event_type(&ev) & CACA_EVENT_KEY_PRESS)
#   73|               {
#   74|                   int key = caca_get_event_key_ch(&ev);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def235]
libcaca-0.99.beta20/examples/event.c:74:27: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:72:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/examples/event.c:74:27: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:74:27: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/4)
#   72|               if(caca_get_event_type(&ev) & CACA_EVENT_KEY_PRESS)
#   73|               {
#   74|->                 int key = caca_get_event_key_ch(&ev);
#   75|                   if((key == 'q' && quit == 0) || (key == 'u' && quit == 1)
#   76|                       || (key == 'i' && quit == 2) || (key == 't' && quit == 3))

Error: GCC_ANALYZER_WARNING (CWE-476): [#def236]
libcaca-0.99.beta20/examples/event.c:85:13: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: this call could return NULL
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:85:13: danger: ‘events’ could be NULL: unchecked value from [(5)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/4)
#   83|   
#   84|               memmove(events + 1, events, (h - 1) * sizeof(caca_event_t));
#   85|->             events[0] = ev;
#   86|   
#   87|               ret = caca_get_event(dp, CACA_EVENT_ANY, &ev, 0);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def237]
libcaca-0.99.beta20/examples/event.c:87:19: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:87:19: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/4)
#   85|               events[0] = ev;
#   86|   
#   87|->             ret = caca_get_event(dp, CACA_EVENT_ANY, &ev, 0);
#   88|           }
#   89|           while(ret);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def238]
libcaca-0.99.beta20/examples/event.c:91:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:91:9: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/4)
#   89|           while(ret);
#   90|   
#   91|->         caca_set_color_ansi(cv, CACA_LIGHTGRAY, CACA_BLACK);
#   92|           caca_clear_canvas(cv);
#   93|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def239]
libcaca-0.99.beta20/examples/event.c:92:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:92:9: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/4)
#   90|   
#   91|           caca_set_color_ansi(cv, CACA_LIGHTGRAY, CACA_BLACK);
#   92|->         caca_clear_canvas(cv);
#   93|   
#   94|           /* Print current event */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def240]
libcaca-0.99.beta20/examples/event.c:95:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:95:9: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/4)
#   93|   
#   94|           /* Print current event */
#   95|->         caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);
#   96|           caca_draw_line(cv, 0, 0, caca_get_canvas_width(cv) - 1, 0, ' ');
#   97|           print_event(0, 0, events);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def241]
libcaca-0.99.beta20/examples/event.c:96:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:96:9: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/4)
#   94|           /* Print current event */
#   95|           caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);
#   96|->         caca_draw_line(cv, 0, 0, caca_get_canvas_width(cv) - 1, 0, ' ');
#   97|           print_event(0, 0, events);
#   98|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def242]
libcaca-0.99.beta20/examples/event.c:96:34: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:96:34: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
#   94|           /* Print current event */
#   95|           caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);
#   96|->         caca_draw_line(cv, 0, 0, caca_get_canvas_width(cv) - 1, 0, ' ');
#   97|           print_event(0, 0, events);
#   98|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def243]
libcaca-0.99.beta20/examples/event.c:99:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:99:9: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/4)
#   97|           print_event(0, 0, events);
#   98|   
#   99|->         caca_draw_line(cv, 0, h, caca_get_canvas_width(cv) - 1, h, ' ');
#  100|           caca_printf(cv, 0, h, "type \"quit\" to exit: %s", quit_string[quit]);
#  101|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def244]
libcaca-0.99.beta20/examples/event.c:99:34: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:99:34: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/4)
#   97|           print_event(0, 0, events);
#   98|   
#   99|->         caca_draw_line(cv, 0, h, caca_get_canvas_width(cv) - 1, h, ' ');
#  100|           caca_printf(cv, 0, h, "type \"quit\" to exit: %s", quit_string[quit]);
#  101|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def245]
libcaca-0.99.beta20/examples/event.c:100:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:100:9: danger: ‘events’ leaks here; was allocated at [(5)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/4)
#   98|   
#   99|           caca_draw_line(cv, 0, h, caca_get_canvas_width(cv) - 1, h, ' ');
#  100|->         caca_printf(cv, 0, h, "type \"quit\" to exit: %s", quit_string[quit]);
#  101|   
#  102|           /* Print previous events */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def246]
libcaca-0.99.beta20/examples/event.c:122:12: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:28:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:97:9: call_function: calling ‘print_event’ from ‘main’
#  120|       int character;
#  121|   
#  122|->     switch(caca_get_event_type(ev))
#  123|       {
#  124|       case CACA_EVENT_NONE:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def247]
libcaca-0.99.beta20/examples/event.c:125:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:28:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:97:9: call_function: calling ‘print_event’ from ‘main’
#  123|       {
#  124|       case CACA_EVENT_NONE:
#  125|->         caca_printf(cv, x, y, "CACA_EVENT_NONE");
#  126|           break;
#  127|       case CACA_EVENT_KEY_PRESS:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def248]
libcaca-0.99.beta20/examples/event.c:128:21: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:28:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:97:9: call_function: calling ‘print_event’ from ‘main’
#  126|           break;
#  127|       case CACA_EVENT_KEY_PRESS:
#  128|->         character = caca_get_event_key_ch(ev);
#  129|           caca_printf(cv, x, y, "CACA_EVENT_KEY_PRESS 0x%02x (%c)", character,
#  130|                        (character > 0x1f && character < 0x80) ? character : '?');

Error: GCC_ANALYZER_WARNING (CWE-401): [#def249]
libcaca-0.99.beta20/examples/event.c:129:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:28:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:97:9: call_function: calling ‘print_event’ from ‘main’
#  127|       case CACA_EVENT_KEY_PRESS:
#  128|           character = caca_get_event_key_ch(ev);
#  129|->         caca_printf(cv, x, y, "CACA_EVENT_KEY_PRESS 0x%02x (%c)", character,
#  130|                        (character > 0x1f && character < 0x80) ? character : '?');
#  131|           break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def250]
libcaca-0.99.beta20/examples/event.c:133:21: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:28:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:97:9: call_function: calling ‘print_event’ from ‘main’
#  131|           break;
#  132|       case CACA_EVENT_KEY_RELEASE:
#  133|->         character = caca_get_event_key_ch(ev);
#  134|           caca_printf(cv, x, y, "CACA_EVENT_KEY_RELEASE 0x%02x (%c)", character,
#  135|                        (character > 0x1f && character < 0x80) ? character : '?');

Error: GCC_ANALYZER_WARNING (CWE-401): [#def251]
libcaca-0.99.beta20/examples/event.c:134:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:28:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:97:9: call_function: calling ‘print_event’ from ‘main’
#  132|       case CACA_EVENT_KEY_RELEASE:
#  133|           character = caca_get_event_key_ch(ev);
#  134|->         caca_printf(cv, x, y, "CACA_EVENT_KEY_RELEASE 0x%02x (%c)", character,
#  135|                        (character > 0x1f && character < 0x80) ? character : '?');
#  136|           break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def252]
libcaca-0.99.beta20/examples/event.c:138:9: warning[-Wanalyzer-malloc-leak]: leak of ‘events’
libcaca-0.99.beta20/examples/event.c:28:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/examples/event.c:34:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:40:10: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:41:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/event.c:47:9: branch_false: ...to here
libcaca-0.99.beta20/examples/event.c:57:14: acquire_memory: allocated here
libcaca-0.99.beta20/examples/event.c:60:19: branch_true: following ‘true’ branch (when ‘quit <= 3’)...
libcaca-0.99.beta20/examples/event.c:64:19: branch_true: ...to here
libcaca-0.99.beta20/examples/event.c:97:9: call_function: calling ‘print_event’ from ‘main’
#  136|           break;
#  137|       case CACA_EVENT_MOUSE_MOTION:
#  138|->         caca_printf(cv, x, y, "CACA_EVENT_MOUSE_MOTION %u %u",
#  139|                        caca_get_event_mouse_x(ev), caca_get_event_mouse_y(ev));
#  140|           break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def253]
libcaca-0.99.beta20/examples/swallow.c:71:16: warning[-Wanalyzer-malloc-leak]: leak of ‘popen(&cmd, "r")’
libcaca-0.99.beta20/examples/swallow.c:33:7: branch_false: following ‘false’ branch (when ‘argc > 4’)...
libcaca-0.99.beta20/examples/swallow.c:39:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:43:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:48:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:54:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:57:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:60:5: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: acquire_memory: allocated here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: danger: ‘popen(&cmd, "r")’ leaks here; was allocated at [(11)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/10)
#   69|           sprintf(cmd, "CACA_DRIVER=raw CACA_GEOMETRY=%ix%i %s",
#   70|                        w, h, argv[i + 1]);
#   71|->         f[i] = popen(cmd, "r");
#   72|           if(!f[i])
#   73|               return 1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def254]
libcaca-0.99.beta20/examples/swallow.c:74:9: warning[-Wanalyzer-malloc-leak]: leak of ‘f[i]’
libcaca-0.99.beta20/examples/swallow.c:33:7: branch_false: following ‘false’ branch (when ‘argc > 4’)...
libcaca-0.99.beta20/examples/swallow.c:39:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:43:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:48:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:54:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:57:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:60:5: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: acquire_memory: allocated here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:74:9: danger: ‘f[i]’ leaks here; was allocated at [(11)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/10)
#   72|           if(!f[i])
#   73|               return 1;
#   74|->         caca_printf(cv, (w + 2) * (i / 2) + 1,
#   75|                            (h + 2) * ((i % 2) + 1), "%s", argv[i + 1]);
#   76|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def255]
libcaca-0.99.beta20/examples/swallow.c:81:19: warning[-Wanalyzer-malloc-leak]: leak of ‘f[3]’
libcaca-0.99.beta20/examples/swallow.c:33:7: branch_false: following ‘false’ branch (when ‘argc > 4’)...
libcaca-0.99.beta20/examples/swallow.c:39:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:43:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:48:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:54:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:57:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:60:5: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: acquire_memory: allocated here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_false: following ‘false’ branch (when ‘i == 4’)...
 branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:81:19: danger: ‘f[3]’ leaks here; was allocated at [(29)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/28)
#   79|       {
#   80|           caca_event_t ev;
#   81|->         int ret = caca_get_event(dp, CACA_EVENT_ANY, &ev, 0);
#   82|   
#   83|           if(ret && caca_get_event_type(&ev) & CACA_EVENT_KEY_PRESS)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def256]
libcaca-0.99.beta20/examples/swallow.c:83:19: warning[-Wanalyzer-malloc-leak]: leak of ‘f[3]’
libcaca-0.99.beta20/examples/swallow.c:33:7: branch_false: following ‘false’ branch (when ‘argc > 4’)...
libcaca-0.99.beta20/examples/swallow.c:39:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:43:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:48:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:54:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:57:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:60:5: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: acquire_memory: allocated here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_false: following ‘false’ branch (when ‘i == 4’)...
 branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:83:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/examples/swallow.c:83:19: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:83:19: danger: ‘f[3]’ leaks here; was allocated at [(29)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/28)
#   81|           int ret = caca_get_event(dp, CACA_EVENT_ANY, &ev, 0);
#   82|   
#   83|->         if(ret && caca_get_event_type(&ev) & CACA_EVENT_KEY_PRESS)
#   84|               break;
#   85|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def257]
libcaca-0.99.beta20/examples/swallow.c:88:24: warning[-Wanalyzer-malloc-leak]: leak of ‘f[3]’
libcaca-0.99.beta20/examples/swallow.c:33:7: branch_false: following ‘false’ branch (when ‘argc > 4’)...
libcaca-0.99.beta20/examples/swallow.c:39:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:43:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:48:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:54:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:57:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:60:5: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: acquire_memory: allocated here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_false: following ‘false’ branch (when ‘i == 4’)...
 branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:86:20: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:89:55: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:88:24: danger: ‘f[3]’ leaks here; was allocated at [(29)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/28)
#   86|           for(i = 0; i < 4; i++)
#   87|           {
#   88|->             bytes[i] = caca_import_canvas_from_memory(app, buf[i],
#   89|                                                         total[i], "caca");
#   90|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def258]
libcaca-0.99.beta20/examples/swallow.c:96:17: warning[-Wanalyzer-malloc-leak]: leak of ‘f[3]’
libcaca-0.99.beta20/examples/swallow.c:33:7: branch_false: following ‘false’ branch (when ‘argc > 4’)...
libcaca-0.99.beta20/examples/swallow.c:39:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:43:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:48:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:54:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:57:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:60:5: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: acquire_memory: allocated here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_false: following ‘false’ branch (when ‘i == 4’)...
 branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:86:20: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:89:55: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:91:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/examples/swallow.c:93:26: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:96:17: danger: ‘f[3]’ leaks here; was allocated at [(29)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/28)
#   94|                   memmove(buf[i], buf[i] + bytes[i], total[i]);
#   95|   
#   96|->                 caca_blit(cv, (w + 2) * (i / 2) + 1,
#   97|                                  (h + 2) * (i % 2) + 2, app, NULL);
#   98|                   caca_refresh_display(dp);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def259]
libcaca-0.99.beta20/examples/swallow.c:98:17: warning[-Wanalyzer-malloc-leak]: leak of ‘f[3]’
libcaca-0.99.beta20/examples/swallow.c:33:7: branch_false: following ‘false’ branch (when ‘argc > 4’)...
libcaca-0.99.beta20/examples/swallow.c:39:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:43:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:48:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:54:10: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:57:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:60:5: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:71:16: acquire_memory: allocated here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:72:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/examples/swallow.c:74:9: branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:65:16: branch_false: following ‘false’ branch (when ‘i == 4’)...
 branch_false: ...to here
libcaca-0.99.beta20/examples/swallow.c:86:20: branch_true: following ‘true’ branch (when ‘i != 4’)...
libcaca-0.99.beta20/examples/swallow.c:89:55: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:91:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/examples/swallow.c:93:26: branch_true: ...to here
libcaca-0.99.beta20/examples/swallow.c:98:17: danger: ‘f[3]’ leaks here; was allocated at [(29)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/28)
#   96|                   caca_blit(cv, (w + 2) * (i / 2) + 1,
#   97|                                  (h + 2) * (i % 2) + 2, app, NULL);
#   98|->                 caca_refresh_display(dp);
#   99|               }
#  100|               else if(bytes[i] == 0)

Error: COMPILER_WARNING (CWE-252): [#def260]
libcaca-0.99.beta20/examples/swallow.c: scope_hint: In function ‘main’
libcaca-0.99.beta20/examples/swallow.c:103:17: warning[-Wunused-result]: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’
#  103 |                 fread(buf[i] + total[i], 128, 1, f[i]);
#      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  101|               {
#  102|                   buf[i] = realloc(buf[i], total[i] + 128);
#  103|->                 fread(buf[i] + total[i], 128, 1, f[i]);
#  104|                   total[i] += 128;
#  105|               }

Error: CPPCHECK_WARNING (CWE-476): [#def261]
libcaca-0.99.beta20/src/aafire.c:145: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: bitmap
#  143|     bitmap = malloc(4 * caca_get_canvas_width(cv)
#  144|                       * caca_get_canvas_height(cv));
#  145|->   memset(bitmap, 0, 4 * caca_get_canvas_width(cv)
#  146|                         * caca_get_canvas_height(cv));
#  147|   #else

Error: COMPILER_WARNING (CWE-563): [#def262]
libcaca-0.99.beta20/src/aafire.c: scope_hint: In function ‘firemain’
libcaca-0.99.beta20/src/aafire.c:185:25: warning[-Wunused-but-set-variable]: variable ‘i’ set but not used
#  185 |   register unsigned int i;
#      |                         ^
#  183|   firemain (void)
#  184|   {
#  185|->   register unsigned int i;
#  186|     unsigned char *p;
#  187|   #ifndef LIBCACA

Error: CPPCHECK_WARNING (CWE-476): [#def263]
libcaca-0.99.beta20/src/cacaclock.c:59: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: charTime
#   57|   
#   58|       time(&currtime);
#   59|->     strftime(charTime, 100,format,localtime(&currtime));
#   60|   
#   61|       return charTime;

Error: GCC_ANALYZER_WARNING (CWE-688): [#def264]
libcaca-0.99.beta20/src/cacaclock.c:59:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘charTime’ where non-null expected
libcaca-0.99.beta20/src/cacaclock.c:56:22: acquire_memory: this call could return NULL
libcaca-0.99.beta20/src/cacaclock.c:59:5: danger: argument 1 (‘charTime’) from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#   57|   
#   58|       time(&currtime);
#   59|->     strftime(charTime, 100,format,localtime(&currtime));
#   60|   
#   61|       return charTime;

Error: COMPILER_WARNING (CWE-563): [#def265]
libcaca-0.99.beta20/src/cacademo.c: scope_hint: In function ‘do_plasma’
libcaca-0.99.beta20/src/cacademo.c:408:22: warning[-Wunused-but-set-variable]: variable ‘x’ set but not used
#  408 |         unsigned int x;
#      |                      ^
#  406|       for(y = 0; y < YSIZ; y++)
#  407|       {
#  408|->         unsigned int x;
#  409|           uint8_t * tmp = pixels + y * YSIZ;
#  410|           unsigned int ty = y * TABLEX, tmax = ty + XSIZ;

Error: CPPCHECK_WARNING (CWE-476): [#def266]
libcaca-0.99.beta20/src/cacademo.c:716: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: screen
#  714|       case INIT:
#  715|           screen = malloc(width * height);
#  716|->         memset(screen, 0, width * height);
#  717|           break;
#  718|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def267]
libcaca-0.99.beta20/src/cacaplay.c:49:10: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:49:10: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   47|       }
#   48|   
#   49|->     cv = caca_create_canvas(0, 0);
#   50|       app = caca_create_canvas(0, 0);
#   51|       if(cv == NULL || app == NULL)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def268]
libcaca-0.99.beta20/src/cacaplay.c:50:11: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:50:11: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#   48|   
#   49|       cv = caca_create_canvas(0, 0);
#   50|->     app = caca_create_canvas(0, 0);
#   51|       if(cv == NULL || app == NULL)
#   52|       {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def269]
libcaca-0.99.beta20/src/cacaplay.c:56:10: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:56:10: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#   54|           return -1;
#   55|       }
#   56|->     dp = caca_create_display(cv);
#   57|       if(dp == NULL)
#   58|       {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def270]
libcaca-0.99.beta20/src/cacaplay.c:67:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:67:19: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   65|       {
#   66|           caca_event_t ev;
#   67|->         int ret = caca_get_event(dp, CACA_EVENT_ANY, &ev, 0);
#   68|           int has_eof = 0;
#   69|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def271]
libcaca-0.99.beta20/src/cacaplay.c:70:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:70:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaplay.c:70:19: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:70:19: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#   68|           int has_eof = 0;
#   69|   
#   70|->         if(ret && caca_get_event_type(&ev) & CACA_EVENT_KEY_PRESS)
#   71|               break;
#   72|   

Error: CPPCHECK_WARNING (CWE-401): [#def272]
libcaca-0.99.beta20/src/cacaplay.c:76: error[memleakOnRealloc]: Common realloc mistake: 'buf' nulled but not freed upon failure
#   74|           {
#   75|               ssize_t n;
#   76|->             buf = realloc(buf, total + 1);
#   77|               n = read(fd, buf + total, 1);
#   78|               if(n < 0)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def273]
libcaca-0.99.beta20/src/cacaplay.c:91:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:73:11: branch_true: following ‘true’ branch (when ‘bytes == 0’)...
libcaca-0.99.beta20/src/cacaplay.c:76:32: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:78:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:84:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:91:17: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2)
#   89|           }
#   90|   
#   91|->         bytes = caca_import_canvas_from_memory(app, buf, total, "caca");
#   92|   
#   93|           if(bytes > 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def274]
libcaca-0.99.beta20/src/cacaplay.c:91:17: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:73:11: branch_true: following ‘true’ branch (when ‘bytes == 0’)...
libcaca-0.99.beta20/src/cacaplay.c:76:32: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:78:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:84:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:91:17: danger: ‘buf’ leaks here; was allocated at [(7)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/6)
#   89|           }
#   90|   
#   91|->         bytes = caca_import_canvas_from_memory(app, buf, total, "caca");
#   92|   
#   93|           if(bytes > 0)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def275]
libcaca-0.99.beta20/src/cacaplay.c:98:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:73:11: branch_true: following ‘true’ branch (when ‘bytes == 0’)...
libcaca-0.99.beta20/src/cacaplay.c:76:32: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:78:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:84:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:93:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaplay.c:95:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:98:13: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
#   96|               memmove(buf, buf + bytes, total);
#   97|   
#   98|->             caca_blit(cv, 0, 0, app, NULL);
#   99|               caca_refresh_display(dp);
#  100|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def276]
libcaca-0.99.beta20/src/cacaplay.c:98:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:73:11: branch_true: following ‘true’ branch (when ‘bytes == 0’)...
libcaca-0.99.beta20/src/cacaplay.c:76:32: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:78:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:84:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:93:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaplay.c:95:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:98:13: danger: ‘buf’ leaks here; was allocated at [(7)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/6)
#   96|               memmove(buf, buf + bytes, total);
#   97|   
#   98|->             caca_blit(cv, 0, 0, app, NULL);
#   99|               caca_refresh_display(dp);
#  100|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def277]
libcaca-0.99.beta20/src/cacaplay.c:99:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaplay.c:35:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:41:14: acquire_resource: opened here
libcaca-0.99.beta20/src/cacaplay.c:42:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:49:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:73:11: branch_true: following ‘true’ branch (when ‘bytes == 0’)...
libcaca-0.99.beta20/src/cacaplay.c:76:32: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:78:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:84:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:93:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaplay.c:95:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:99:13: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/2)
#   97|   
#   98|               caca_blit(cv, 0, 0, app, NULL);
#   99|->             caca_refresh_display(dp);
#  100|           }
#  101|           else if(bytes < 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def278]
libcaca-0.99.beta20/src/cacaplay.c:99:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
libcaca-0.99.beta20/src/cacaplay.c:51:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:56:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:57:7: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:73:11: branch_true: following ‘true’ branch (when ‘bytes == 0’)...
libcaca-0.99.beta20/src/cacaplay.c:76:32: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:78:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaplay.c:84:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaplay.c:93:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaplay.c:95:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaplay.c:99:13: danger: ‘buf’ leaks here; was allocated at [(7)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/6)
#   97|   
#   98|               caca_blit(cv, 0, 0, app, NULL);
#   99|->             caca_refresh_display(dp);
#  100|           }
#  101|           else if(bytes < 0)

Error: CPPCHECK_WARNING (CWE-476): [#def279]
libcaca-0.99.beta20/src/cacaserver.c:151: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  149|       server = malloc(sizeof(struct server));
#  150|   
#  151|->     server->input = malloc(12);
#  152|       server->read = 0;
#  153|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def280]
libcaca-0.99.beta20/src/cacaserver.c:151:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: this call could return NULL
libcaca-0.99.beta20/src/cacaserver.c:151:5: danger: ‘server’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  149|       server = malloc(sizeof(struct server));
#  150|   
#  151|->     server->input = malloc(12);
#  152|       server->read = 0;
#  153|   

Error: CPPCHECK_WARNING (CWE-476): [#def281]
libcaca-0.99.beta20/src/cacaserver.c:152: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  150|   
#  151|       server->input = malloc(12);
#  152|->     server->read = 0;
#  153|   
#  154|       server->client_count = 0;

Error: CPPCHECK_WARNING (CWE-476): [#def282]
libcaca-0.99.beta20/src/cacaserver.c:154: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  152|       server->read = 0;
#  153|   
#  154|->     server->client_count = 0;
#  155|       server->clients = NULL;
#  156|       server->port = 0xCACA; /* 51914 */

Error: CPPCHECK_WARNING (CWE-476): [#def283]
libcaca-0.99.beta20/src/cacaserver.c:155: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  153|   
#  154|       server->client_count = 0;
#  155|->     server->clients = NULL;
#  156|       server->port = 0xCACA; /* 51914 */
#  157|   

Error: CPPCHECK_WARNING (CWE-476): [#def284]
libcaca-0.99.beta20/src/cacaserver.c:156: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  154|       server->client_count = 0;
#  155|       server->clients = NULL;
#  156|->     server->port = 0xCACA; /* 51914 */
#  157|   
#  158|       /* FIXME, handle >255 sizes */

Error: CPPCHECK_WARNING (CWE-476): [#def285]
libcaca-0.99.beta20/src/cacaserver.c:159: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  157|   
#  158|       /* FIXME, handle >255 sizes */
#  159|->     memcpy(server->prefix, INIT_PREFIX, sizeof(INIT_PREFIX));
#  160|       tmp = strstr(server->prefix, "____");
#  161|       tmp[0] = (uint8_t) (server->width & 0xff00) >> 8;

Error: CPPCHECK_WARNING (CWE-476): [#def286]
libcaca-0.99.beta20/src/cacaserver.c:160: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  158|       /* FIXME, handle >255 sizes */
#  159|       memcpy(server->prefix, INIT_PREFIX, sizeof(INIT_PREFIX));
#  160|->     tmp = strstr(server->prefix, "____");
#  161|       tmp[0] = (uint8_t) (server->width & 0xff00) >> 8;
#  162|       tmp[1] = (uint8_t) server->width & 0xff;

Error: CPPCHECK_WARNING (CWE-909): [#def287]
libcaca-0.99.beta20/src/cacaserver.c:161: error[uninitStructMember]: Uninitialized struct member: server.width
#  159|       memcpy(server->prefix, INIT_PREFIX, sizeof(INIT_PREFIX));
#  160|       tmp = strstr(server->prefix, "____");
#  161|->     tmp[0] = (uint8_t) (server->width & 0xff00) >> 8;
#  162|       tmp[1] = (uint8_t) server->width & 0xff;
#  163|       tmp[2] = (uint8_t) (server->height & 0xff00) >> 8;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def288]
libcaca-0.99.beta20/src/cacaserver.c:161:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘tmp’
#  159|       memcpy(server->prefix, INIT_PREFIX, sizeof(INIT_PREFIX));
#  160|       tmp = strstr(server->prefix, "____");
#  161|->     tmp[0] = (uint8_t) (server->width & 0xff00) >> 8;
#  162|       tmp[1] = (uint8_t) server->width & 0xff;
#  163|       tmp[2] = (uint8_t) (server->height & 0xff00) >> 8;

Error: CPPCHECK_WARNING (CWE-476): [#def289]
libcaca-0.99.beta20/src/cacaserver.c:162: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  160|       tmp = strstr(server->prefix, "____");
#  161|       tmp[0] = (uint8_t) (server->width & 0xff00) >> 8;
#  162|->     tmp[1] = (uint8_t) server->width & 0xff;
#  163|       tmp[2] = (uint8_t) (server->height & 0xff00) >> 8;
#  164|       tmp[3] = (uint8_t) server->height & 0xff;

Error: CPPCHECK_WARNING (CWE-909): [#def290]
libcaca-0.99.beta20/src/cacaserver.c:163: error[uninitStructMember]: Uninitialized struct member: server.height
#  161|       tmp[0] = (uint8_t) (server->width & 0xff00) >> 8;
#  162|       tmp[1] = (uint8_t) server->width & 0xff;
#  163|->     tmp[2] = (uint8_t) (server->height & 0xff00) >> 8;
#  164|       tmp[3] = (uint8_t) server->height & 0xff;
#  165|   

Error: CPPCHECK_WARNING (CWE-476): [#def291]
libcaca-0.99.beta20/src/cacaserver.c:164: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  162|       tmp[1] = (uint8_t) server->width & 0xff;
#  163|       tmp[2] = (uint8_t) (server->height & 0xff00) >> 8;
#  164|->     tmp[3] = (uint8_t) server->height & 0xff;
#  165|   
#  166|       memset(&ai_hints, 0, sizeof(ai_hints));

Error: CPPCHECK_WARNING (CWE-476): [#def292]
libcaca-0.99.beta20/src/cacaserver.c:171: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: server
#  169|       ai_hints.ai_flags = AI_PASSIVE;
#  170|       memset(port_str, 0, sizeof(port_str));
#  171|->     snprintf(port_str, 6, "%d", server->port);
#  172|       error = getaddrinfo(NULL, port_str, &ai_hints, &ai);
#  173|       if (error)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def293]
libcaca-0.99.beta20/src/cacaserver.c:172:13: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:172:13: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  170|       memset(port_str, 0, sizeof(port_str));
#  171|       snprintf(port_str, 6, "%d", server->port);
#  172|->     error = getaddrinfo(NULL, port_str, &ai_hints, &ai);
#  173|       if (error)
#  174|       {

Error: CPPCHECK_WARNING (CWE-401): [#def294]
libcaca-0.99.beta20/src/cacaserver.c:176: error[memleak]: Memory leak: server
#  174|       {
#  175|          perror("getaddrinfo");
#  176|->        return -1;
#  177|       }
#  178|   

Error: CPPCHECK_WARNING (CWE-401): [#def295]
libcaca-0.99.beta20/src/cacaserver.c:176: error[memleak]: Memory leak: server.input
#  174|       {
#  175|          perror("getaddrinfo");
#  176|->        return -1;
#  177|       }
#  178|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def296]
libcaca-0.99.beta20/src/cacaserver.c:181:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:19: acquire_resource: stream socket created here
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:13: acquire_resource: socket created here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:199:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: danger: leaks here
#  179|       for (res = ai; res && server->sock_count < MAXSOCKS; res = res->ai_next)
#  180|       {
#  181|->         if ((fd = socket(res->ai_addr->sa_family, SOCK_STREAM, 0)) == -1)
#  182|           {
#  183|               perror("socket");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def297]
libcaca-0.99.beta20/src/cacaserver.c:183:13: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_true: following ‘true’ branch (when ‘fd == -1’)...
libcaca-0.99.beta20/src/cacaserver.c:183:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:183:13: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#  181|           if ((fd = socket(res->ai_addr->sa_family, SOCK_STREAM, 0)) == -1)
#  182|           {
#  183|->             perror("socket");
#  184|               continue;
#  185|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def298]
libcaca-0.99.beta20/src/cacaserver.c:188:13: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:188:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:188:13: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#  186|           if(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1)
#  187|           {
#  188|->             perror("setsockopt: SO_REUSEADDR");
#  189|               continue;
#  190|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def299]
libcaca-0.99.beta20/src/cacaserver.c:194:17: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:191:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:192:17: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:192:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:194:17: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:194:17: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#  192|               if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &yes, sizeof(int)) == -1)
#  193|               {
#  194|->                 perror("setsockopt: IPV6_V6ONLY");
#  195|                   continue;
#  196|               }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def300]
libcaca-0.99.beta20/src/cacaserver.c:199:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:19: acquire_resource: stream socket created here
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:13: acquire_resource: socket created here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:199:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:199:13: danger: ‘fd’ leaks here
#  197|           if (bind(fd, res->ai_addr, res->ai_addrlen) == -1)
#  198|           {
#  199|->             perror("bind");
#  200|               continue;
#  201|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def301]
libcaca-0.99.beta20/src/cacaserver.c:199:13: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:199:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:199:13: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/0)
#  197|           if (bind(fd, res->ai_addr, res->ai_addrlen) == -1)
#  198|           {
#  199|->             perror("bind");
#  200|               continue;
#  201|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def302]
libcaca-0.99.beta20/src/cacaserver.c:202:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:19: acquire_resource: stream socket created here
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:202:17: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:202:17: danger: ‘fd’ leaks here
#  200|               continue;
#  201|           }
#  202|->         flags = fcntl(fd, F_GETFL, 0);
#  203|           fcntl(fd, F_SETFL, flags | O_NONBLOCK);
#  204|           if(listen(fd, BACKLOG) == -1)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def303]
libcaca-0.99.beta20/src/cacaserver.c:202:17: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:202:17: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:202:17: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/0)
#  200|               continue;
#  201|           }
#  202|->         flags = fcntl(fd, F_GETFL, 0);
#  203|           fcntl(fd, F_SETFL, flags | O_NONBLOCK);
#  204|           if(listen(fd, BACKLOG) == -1)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def304]
libcaca-0.99.beta20/src/cacaserver.c:203:9: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:202:17: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:203:9: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  201|           }
#  202|           flags = fcntl(fd, F_GETFL, 0);
#  203|->         fcntl(fd, F_SETFL, flags | O_NONBLOCK);
#  204|           if(listen(fd, BACKLOG) == -1)
#  205|           {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def305]
libcaca-0.99.beta20/src/cacaserver.c:206:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:19: acquire_resource: stream socket created here
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:202:17: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:204:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:206:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:206:13: danger: ‘fd’ leaks here
#  204|           if(listen(fd, BACKLOG) == -1)
#  205|           {
#  206|->             perror("listen");
#  207|               continue;
#  208|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def306]
libcaca-0.99.beta20/src/cacaserver.c:206:13: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:186:11: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:191:13: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:202:17: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:204:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:206:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:206:13: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/0)
#  204|           if(listen(fd, BACKLOG) == -1)
#  205|           {
#  206|->             perror("listen");
#  207|               continue;
#  208|           }

Error: CPPCHECK_WARNING (CWE-909): [#def307]
libcaca-0.99.beta20/src/cacaserver.c:210: error[uninitStructMember]: Uninitialized struct member: server.sock_count
#  208|           }
#  209|   
#  210|->         server->socks[server->sock_count].sockfd = fd;
#  211|           server->sock_count++;
#  212|           fprintf(stderr, "listening on ");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def308]
libcaca-0.99.beta20/src/cacaserver.c:224:22: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:19: acquire_resource: stream socket created here
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:13: acquire_resource: socket created here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:199:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:224:22: danger: ‘fd’ leaks here
#  222|       }
#  223|   
#  224|->     server->canvas = caca_create_canvas(0, 0);
#  225|       server->buffer = NULL;
#  226|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def309]
libcaca-0.99.beta20/src/cacaserver.c:224:22: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:224:22: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/0)
#  222|       }
#  223|   
#  224|->     server->canvas = caca_create_canvas(0, 0);
#  225|       server->buffer = NULL;
#  226|   

Error: COMPILER_WARNING (CWE-252): [#def310]
libcaca-0.99.beta20/src/cacaserver.c: scope_hint: In function ‘main’
libcaca-0.99.beta20/src/cacaserver.c:245:13: warning[-Wunused-result]: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’
#  245 |             read(0, server->input + server->read, 12 - server->read);
#      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  243|           if(server->read < 12)
#  244|           {
#  245|->             read(0, server->input + server->read, 12 - server->read);
#  246|               server->read = 12;
#  247|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def311]
libcaca-0.99.beta20/src/cacaserver.c:249:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:19: acquire_resource: stream socket created here
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:13: acquire_resource: socket created here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:199:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:239:21: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:243:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:249:15: danger: ‘fd’ leaks here
#  247|           }
#  248|   
#  249|->         while(caca_import_canvas_from_memory(server->canvas, server->input,
#  250|                                                server->read, "caca") < 0)
#  251|           {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def312]
libcaca-0.99.beta20/src/cacaserver.c:249:15: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:239:21: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:243:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:249:15: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  247|           }
#  248|   
#  249|->         while(caca_import_canvas_from_memory(server->canvas, server->input,
#  250|                                                server->read, "caca") < 0)
#  251|           {

Error: COMPILER_WARNING (CWE-252): [#def313]
libcaca-0.99.beta20/src/cacaserver.c:253:13: warning[-Wunused-result]: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’
#  253 |             read(0, server->input + server->read - 1, 1);
#      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  251|           {
#  252|               memmove(server->input, server->input + 1, server->read - 1);
#  253|->             read(0, server->input + server->read - 1, 1);
#  254|           }
#  255|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def314]
libcaca-0.99.beta20/src/cacaserver.c:260:22: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:179:20: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:181:19: acquire_resource: stream socket created here
libcaca-0.99.beta20/src/cacaserver.c:181:12: branch_false: following ‘false’ branch (when ‘fd != -1’)...
libcaca-0.99.beta20/src/cacaserver.c:186:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:197:13: acquire_resource: socket created here
libcaca-0.99.beta20/src/cacaserver.c:197:12: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaserver.c:199:13: branch_true: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:239:21: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:243:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:249:15: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:260:22: danger: ‘fd’ leaks here
#  258|               ssize_t needed, wanted;
#  259|   
#  260|->             needed = caca_import_canvas_from_memory(server->canvas,
#  261|                                                       server->input,
#  262|                                                       server->read, "caca");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def315]
libcaca-0.99.beta20/src/cacaserver.c:260:22: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:239:21: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:243:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:249:15: branch_false: following ‘false’ branch...
 branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:260:22: danger: ‘server’ leaks here; was allocated at [(1)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/0)
#  258|               ssize_t needed, wanted;
#  259|   
#  260|->             needed = caca_import_canvas_from_memory(server->canvas,
#  261|                                                       server->input,
#  262|                                                       server->read, "caca");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def316]
libcaca-0.99.beta20/src/cacaserver.c:349:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘accept(sockfd, & remote_addr, & len)’
libcaca-0.99.beta20/src/cacaserver.c:356:13: enter_function: entry to ‘manage_connections’
libcaca-0.99.beta20/src/cacaserver.c:363:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:366:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:367:5: call_function: calling ‘fprint_ip’ from ‘manage_connections’
#  347|           len = sizeof(struct sockaddr_in);
#  348|   
#  349|->     int err = getnameinfo(ai, len, buffer, sizeof(buffer), NULL, 0, NI_NUMERICHOST);
#  350|       if (err != 0)
#  351|           fprintf(stream, "n/a");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def317]
libcaca-0.99.beta20/src/cacaserver.c:349:15: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:134:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:240:13: call_function: calling ‘manage_connections’ from ‘main’
#  347|           len = sizeof(struct sockaddr_in);
#  348|   
#  349|->     int err = getnameinfo(ai, len, buffer, sizeof(buffer), NULL, 0, NI_NUMERICHOST);
#  350|       if (err != 0)
#  351|           fprintf(stream, "n/a");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def318]
libcaca-0.99.beta20/src/cacaserver.c:371:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘accept(sockfd, & remote_addr, & len)’
libcaca-0.99.beta20/src/cacaserver.c:363:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:366:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:371:13: danger: ‘accept(sockfd, & remote_addr, & len)’ leaks here
#  369|   
#  370|       /* Non blocking socket */
#  371|->     flags = fcntl(fd, F_SETFL, 0);
#  372|       fcntl(fd, F_SETFL, flags | O_NONBLOCK);
#  373|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def319]
libcaca-0.99.beta20/src/cacaserver.c:371:13: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:134:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:240:13: call_function: calling ‘manage_connections’ from ‘main’
#  369|   
#  370|       /* Non blocking socket */
#  371|->     flags = fcntl(fd, F_SETFL, 0);
#  372|       fcntl(fd, F_SETFL, flags | O_NONBLOCK);
#  373|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def320]
libcaca-0.99.beta20/src/cacaserver.c:372:5: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:134:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:240:13: call_function: calling ‘manage_connections’ from ‘main’
#  370|       /* Non blocking socket */
#  371|       flags = fcntl(fd, F_SETFL, 0);
#  372|->     fcntl(fd, F_SETFL, flags | O_NONBLOCK);
#  373|   
#  374|       if(server->clients == NULL)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def321]
libcaca-0.99.beta20/src/cacaserver.c:379:13: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:134:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:240:13: call_function: calling ‘manage_connections’ from ‘main’
#  377|           if(server->clients == NULL)
#  378|           {
#  379|->             close(fd);
#  380|               return;
#  381|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def322]
libcaca-0.99.beta20/src/cacaserver.c:603:19: warning[-Wanalyzer-malloc-leak]: leak of ‘server’
libcaca-0.99.beta20/src/cacaserver.c:134:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/src/cacaserver.c:149:14: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaserver.c:173:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:179:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:218:8: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaserver.c:224:22: branch_false: ...to here
libcaca-0.99.beta20/src/cacaserver.c:240:13: call_function: calling ‘manage_connections’ from ‘main’
#  601|           do
#  602|           {
#  603|->             ret = write(fd, buf, len);
#  604|           }
#  605|           while(ret < 0 && errno == EINTR);

Error: CPPCHECK_WARNING (CWE-401): [#def323]
libcaca-0.99.beta20/src/cacaview.c:118: error[memleakOnRealloc]: Common realloc mistake: 'list' nulled but not freed upon failure
#  116|           /* Add argv[i] to the list */
#  117|           if(items)
#  118|->             list = realloc(list, (items + 1) * sizeof(char *));
#  119|           else
#  120|               list = malloc(sizeof(char *));

Error: CPPCHECK_WARNING (CWE-476): [#def324]
libcaca-0.99.beta20/src/cacaview.c:121: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: list
#  119|           else
#  120|               list = malloc(sizeof(char *));
#  121|->         list[items] = argv[i];
#  122|           items++;
#  123|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def325]
libcaca-0.99.beta20/src/cacaview.c:121:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘list’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:12: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:120:20: acquire_memory: this call could return NULL
libcaca-0.99.beta20/src/cacaview.c:121:9: danger: ‘list + (long unsigned int)items * 8’ could be NULL: unchecked value from [(17)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/16)
#  119|           else
#  120|               list = malloc(sizeof(char *));
#  121|->         list[items] = argv[i];
#  122|           items++;
#  123|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def326]
libcaca-0.99.beta20/src/cacaview.c:317:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘buffer’ where non-null expected
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:143:15: branch_false: following ‘false’ branch (when ‘event == 0’)...
libcaca-0.99.beta20/src/cacaview.c:307:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: this call could return NULL
libcaca-0.99.beta20/src/cacaview.c:317:13: danger: argument 1 (‘buffer’) from [(23)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/22) could be NULL where non-null expected
#argument 1 of ‘__builtin_sprintf’ must be non-null
#  315|               buffer = malloc(len);
#  316|   
#  317|->             sprintf(buffer, " Loading `%s'... ", list[current]);
#  318|               buffer[ww] = '\0';
#  319|               caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def327]
libcaca-0.99.beta20/src/cacaview.c:319:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:143:15: branch_false: following ‘false’ branch (when ‘event == 0’)...
libcaca-0.99.beta20/src/cacaview.c:307:12: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:319:13: danger: ‘buffer’ leaks here; was allocated at [(23)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/22)
#  317|               sprintf(buffer, " Loading `%s'... ", list[current]);
#  318|               buffer[ww] = '\0';
#  319|->             caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);
#  320|               caca_put_str(cv, (ww - strlen(buffer)) / 2, wh / 2, buffer);
#  321|               caca_refresh_display(dp);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def328]
libcaca-0.99.beta20/src/cacaview.c:320:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:320:13: danger: ‘buffer’ leaks here; was allocated at [(21)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/20)
#  318|               buffer[ww] = '\0';
#  319|               caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);
#  320|->             caca_put_str(cv, (ww - strlen(buffer)) / 2, wh / 2, buffer);
#  321|               caca_refresh_display(dp);
#  322|               ww = caca_get_canvas_width(cv);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def329]
libcaca-0.99.beta20/src/cacaview.c:321:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:321:13: danger: ‘buffer’ leaks here; was allocated at [(21)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/20)
#  319|               caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);
#  320|               caca_put_str(cv, (ww - strlen(buffer)) / 2, wh / 2, buffer);
#  321|->             caca_refresh_display(dp);
#  322|               ww = caca_get_canvas_width(cv);
#  323|               wh = caca_get_canvas_height(cv);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def330]
libcaca-0.99.beta20/src/cacaview.c:322:18: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:322:18: danger: ‘buffer’ leaks here; was allocated at [(21)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/20)
#  320|               caca_put_str(cv, (ww - strlen(buffer)) / 2, wh / 2, buffer);
#  321|               caca_refresh_display(dp);
#  322|->             ww = caca_get_canvas_width(cv);
#  323|               wh = caca_get_canvas_height(cv);
#  324|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def331]
libcaca-0.99.beta20/src/cacaview.c:323:18: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:323:18: danger: ‘buffer’ leaks here; was allocated at [(21)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/20)
#  321|               caca_refresh_display(dp);
#  322|               ww = caca_get_canvas_width(cv);
#  323|->             wh = caca_get_canvas_height(cv);
#  324|   
#  325|               if(im)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def332]
libcaca-0.99.beta20/src/cacaview.c:326:17: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:325:15: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:326:17: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:326:17: danger: ‘buffer’ leaks here; was allocated at [(21)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/20)
#  324|   
#  325|               if(im)
#  326|->                 unload_image(im);
#  327|               im = load_image(list[current]);
#  328|               reload = 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def333]
libcaca-0.99.beta20/src/cacaview.c:327:18: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:325:15: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:327:18: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:327:18: danger: ‘buffer’ leaks here; was allocated at [(21)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/20)
#  325|               if(im)
#  326|                   unload_image(im);
#  327|->             im = load_image(list[current]);
#  328|               reload = 0;
#  329|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def334]
libcaca-0.99.beta20/src/cacaview.c:489:10: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
libcaca-0.99.beta20/src/cacaview.c:62:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/src/cacaview.c:76:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:82:10: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:83:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/cacaview.c:90:5: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:97:16: branch_true: following ‘true’ branch (when ‘i != 50’)...
libcaca-0.99.beta20/src/cacaview.c:98:26: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:102:16: branch_true: following ‘true’ branch (when ‘i != 100’)...
libcaca-0.99.beta20/src/cacaview.c:103:27: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:106:16: branch_true: following ‘true’ branch (when ‘i < argc’)...
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:109:11: branch_true: following ‘true’ branch (when ‘opts != 0’)...
libcaca-0.99.beta20/src/cacaview.c:109:24: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:117:11: branch_false: following ‘false’ branch (when ‘items == 0’)...
libcaca-0.99.beta20/src/cacaview.c:120:20: branch_false: ...to here
libcaca-0.99.beta20/src/cacaview.c:128:11: branch_true: following ‘true’ branch (when ‘quit == 0’)...
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:138:11: branch_true: following ‘true’ branch (when ‘update != 0’)...
libcaca-0.99.beta20/src/cacaview.c:139:21: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:307:11: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/cacaview.c:310:64: branch_true: ...to here
libcaca-0.99.beta20/src/cacaview.c:315:22: acquire_memory: allocated here
libcaca-0.99.beta20/src/cacaview.c:333:13: call_function: calling ‘set_zoom’ from ‘main’
#  487|       if(zoom < -ZOOM_MAX) zoom = -ZOOM_MAX;
#  488|   
#  489|->     ww = caca_get_canvas_width(cv);
#  490|       height = fullscreen ? wh : wh - 3;
#  491|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def335]
libcaca-0.99.beta20/src/common-image.c:43:13: warning[-Wanalyzer-malloc-leak]: leak of ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: allocated here
libcaca-0.99.beta20/src/common-image.c:43:13: danger: ‘im’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   41|   
#   42|       /* Load the new image */
#   43|->     image = imlib_load_image(name);
#   44|   
#   45|       if(!image)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def336]
libcaca-0.99.beta20/src/common-image.c:51:5: warning[-Wanalyzer-malloc-leak]: leak of ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: allocated here
libcaca-0.99.beta20/src/common-image.c:45:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/common-image.c:51:5: branch_false: ...to here
libcaca-0.99.beta20/src/common-image.c:51:5: danger: ‘im’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   49|       }
#   50|   
#   51|->     imlib_context_set_image(image);
#   52|       im->pixels = (char *)imlib_image_get_data_for_reading_only();
#   53|       im->w = imlib_image_get_width();

Error: GCC_ANALYZER_WARNING (CWE-476): [#def337]
libcaca-0.99.beta20/src/common-image.c:52:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: this call could return NULL
libcaca-0.99.beta20/src/common-image.c:45:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/common-image.c:51:5: branch_false: ...to here
libcaca-0.99.beta20/src/common-image.c:52:5: danger: ‘im’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#   50|   
#   51|       imlib_context_set_image(image);
#   52|->     im->pixels = (char *)imlib_image_get_data_for_reading_only();
#   53|       im->w = imlib_image_get_width();
#   54|       im->h = imlib_image_get_height();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def338]
libcaca-0.99.beta20/src/common-image.c:52:26: warning[-Wanalyzer-malloc-leak]: leak of ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: allocated here
libcaca-0.99.beta20/src/common-image.c:45:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/common-image.c:51:5: branch_false: ...to here
libcaca-0.99.beta20/src/common-image.c:52:26: danger: ‘im’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#   50|   
#   51|       imlib_context_set_image(image);
#   52|->     im->pixels = (char *)imlib_image_get_data_for_reading_only();
#   53|       im->w = imlib_image_get_width();
#   54|       im->h = imlib_image_get_height();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def339]
libcaca-0.99.beta20/src/common-image.c:53:13: warning[-Wanalyzer-malloc-leak]: leak of ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: allocated here
libcaca-0.99.beta20/src/common-image.c:45:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/common-image.c:51:5: branch_false: ...to here
libcaca-0.99.beta20/src/common-image.c:53:13: danger: ‘im’ leaks here; was allocated at [(1)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/0)
#   51|       imlib_context_set_image(image);
#   52|       im->pixels = (char *)imlib_image_get_data_for_reading_only();
#   53|->     im->w = imlib_image_get_width();
#   54|       im->h = imlib_image_get_height();
#   55|       rmask = 0x00ff0000;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def340]
libcaca-0.99.beta20/src/common-image.c:54:13: warning[-Wanalyzer-malloc-leak]: leak of ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: allocated here
libcaca-0.99.beta20/src/common-image.c:45:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/common-image.c:51:5: branch_false: ...to here
libcaca-0.99.beta20/src/common-image.c:54:13: danger: ‘im’ leaks here; was allocated at [(1)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/0)
#   52|       im->pixels = (char *)imlib_image_get_data_for_reading_only();
#   53|       im->w = imlib_image_get_width();
#   54|->     im->h = imlib_image_get_height();
#   55|       rmask = 0x00ff0000;
#   56|       gmask = 0x0000ff00;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def341]
libcaca-0.99.beta20/src/common-image.c:63:18: warning[-Wanalyzer-malloc-leak]: leak of ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: allocated here
libcaca-0.99.beta20/src/common-image.c:45:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/common-image.c:51:5: branch_false: ...to here
libcaca-0.99.beta20/src/common-image.c:63:18: danger: ‘im’ leaks here; was allocated at [(1)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/0)
#   61|   
#   62|       /* Create the libcaca dither */
#   63|->     im->dither = caca_create_dither(bpp, im->w, im->h, depth * im->w,
#   64|                                       rmask, gmask, bmask, amask);
#   65|       if(!im->dither)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def342]
libcaca-0.99.beta20/src/common-image.c:67:9: warning[-Wanalyzer-malloc-leak]: leak of ‘im’
libcaca-0.99.beta20/src/common-image.c:36:25: acquire_memory: allocated here
libcaca-0.99.beta20/src/common-image.c:45:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/src/common-image.c:51:5: branch_false: ...to here
libcaca-0.99.beta20/src/common-image.c:65:7: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/src/common-image.c:67:9: branch_true: ...to here
libcaca-0.99.beta20/src/common-image.c:67:9: danger: ‘im’ leaks here; was allocated at [(1)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/0)
#   65|       if(!im->dither)
#   66|       {
#   67|->         imlib_free_image();
#   68|           free(im);
#   69|           return NULL;

Error: COMPILER_WARNING (CWE-477): [#def343]
libcaca-0.99.beta20/tools/makefont.c: scope_hint: In function ‘main’
libcaca-0.99.beta20/tools/makefont.c:132:5: warning[-Wdeprecated-declarations]: ‘pango_ft2_font_map_create_context’ is deprecated: Use 'pango_font_map_create_context' instead
#  132 |     cx = pango_ft2_font_map_create_context(PANGO_FT2_FONT_MAP(fm));
#      |     ^~
libcaca-0.99.beta20/tools/makefont.c:29: included_from: Included from here.
/usr/include/pango-1.0/pango/pangoft2.h:128:15: note: declared here
#  128 | PangoContext *pango_ft2_font_map_create_context         (PangoFT2FontMap         *fontmap);
#      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  130|       fm = pango_ft2_font_map_new();
#  131|       pango_ft2_font_map_set_resolution(PANGO_FT2_FONT_MAP(fm), dpi, dpi);
#  132|->     cx = pango_ft2_font_map_create_context(PANGO_FT2_FONT_MAP(fm));
#  133|   
#  134|       l = pango_layout_new(cx);

Error: COMPILER_WARNING (CWE-477): [#def344]
libcaca-0.99.beta20/tools/makefont.c:132:5: warning[-Wdeprecated-declarations]: ‘pango_ft2_font_map_create_context’ is deprecated: Use 'pango_font_map_create_context' instead
#  130|       fm = pango_ft2_font_map_new();
#  131|       pango_ft2_font_map_set_resolution(PANGO_FT2_FONT_MAP(fm), dpi, dpi);
#  132|->     cx = pango_ft2_font_map_create_context(PANGO_FT2_FONT_MAP(fm));
#  133|   
#  134|       l = pango_layout_new(cx);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def345]
libcaca-0.99.beta20/tools/makefont.c:155:5: warning[-Wanalyzer-malloc-leak]: leak of ‘img.buffer’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:150:18: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:155:5: danger: ‘img.buffer’ leaks here; was allocated at [(7)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/6)
#  153|   
#  154|       /* Test rendering so that we know the glyph width */
#  155|->     pango_layout_set_markup(l, "@", -1);
#  156|       pango_layout_get_extents(l, NULL, &r);
#  157|       stdwidth = PANGO_PIXELS(r.width);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def346]
libcaca-0.99.beta20/tools/makefont.c:156:5: warning[-Wanalyzer-malloc-leak]: leak of ‘img.buffer’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:150:18: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:156:5: danger: ‘img.buffer’ leaks here; was allocated at [(7)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/6)
#  154|       /* Test rendering so that we know the glyph width */
#  155|       pango_layout_set_markup(l, "@", -1);
#  156|->     pango_layout_get_extents(l, NULL, &r);
#  157|       stdwidth = PANGO_PIXELS(r.width);
#  158|       fullwidth = stdwidth * 2;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def347]
libcaca-0.99.beta20/tools/makefont.c:172:16: warning[-Wanalyzer-malloc-leak]: leak of ‘img.buffer’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:150:18: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:172:16: danger: ‘img.buffer’ leaks here; was allocated at [(7)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/6)
#  170|           glyphs += blocklist[b + 1] - blocklist[b];
#  171|           for(i = blocklist[b]; i < blocklist[b + 1]; i++)
#  172|->             if(caca_utf32_is_fullwidth(i))
#  173|                   fullglyphs++;
#  174|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def348]
libcaca-0.99.beta20/tools/makefont.c:238:16: warning[-Wanalyzer-malloc-leak]: leak of ‘glyph_data’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:180:18: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:238:16: danger: ‘glyph_data’ leaks here; was allocated at [(12)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/11)
#  236|               unsigned int k, current_size = stdsize;
#  237|   
#  238|->             if(caca_utf32_is_fullwidth(i))
#  239|               {
#  240|                   current_width = fullwidth;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def349]
libcaca-0.99.beta20/tools/makefont.c:238:16: warning[-Wanalyzer-malloc-leak]: leak of ‘gtab’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:179:12: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:238:16: danger: ‘gtab’ leaks here; was allocated at [(12)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/11)
#  236|               unsigned int k, current_size = stdsize;
#  237|   
#  238|->             if(caca_utf32_is_fullwidth(i))
#  239|               {
#  240|                   current_width = fullwidth;

Error: CPPCHECK_WARNING (CWE-476): [#def350]
libcaca-0.99.beta20/tools/makefont.c:243: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: gtab
#  241|                   current_size = fullsize;
#  242|               }
#  243|->             gtab[n].unicode = i;
#  244|               bytes = caca_utf32_to_utf8(gtab[n].buf, gtab[n].unicode);
#  245|               gtab[n].buf[bytes] = '\0';

Error: GCC_ANALYZER_WARNING (CWE-476): [#def351]
libcaca-0.99.beta20/tools/makefont.c:243:13: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘gtab’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:179:12: acquire_memory: this call could return NULL
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:243:13: danger: ‘gtab + (long unsigned int)n * 32’ could be NULL: unchecked value from [(12)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/11)
#  241|                   current_size = fullsize;
#  242|               }
#  243|->             gtab[n].unicode = i;
#  244|               bytes = caca_utf32_to_utf8(gtab[n].buf, gtab[n].unicode);
#  245|               gtab[n].buf[bytes] = '\0';

Error: CPPCHECK_WARNING (CWE-476): [#def352]
libcaca-0.99.beta20/tools/makefont.c:244: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: gtab
#  242|               }
#  243|               gtab[n].unicode = i;
#  244|->             bytes = caca_utf32_to_utf8(gtab[n].buf, gtab[n].unicode);
#  245|               gtab[n].buf[bytes] = '\0';
#  246|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def353]
libcaca-0.99.beta20/tools/makefont.c:244:21: warning[-Wanalyzer-malloc-leak]: leak of ‘glyph_data’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:180:18: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:244:21: danger: ‘glyph_data’ leaks here; was allocated at [(12)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/11)
#  242|               }
#  243|               gtab[n].unicode = i;
#  244|->             bytes = caca_utf32_to_utf8(gtab[n].buf, gtab[n].unicode);
#  245|               gtab[n].buf[bytes] = '\0';
#  246|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def354]
libcaca-0.99.beta20/tools/makefont.c:244:21: warning[-Wanalyzer-malloc-leak]: leak of ‘gtab’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:179:12: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:244:21: danger: ‘gtab’ leaks here; was allocated at [(12)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/11)
#  242|               }
#  243|               gtab[n].unicode = i;
#  244|->             bytes = caca_utf32_to_utf8(gtab[n].buf, gtab[n].unicode);
#  245|               gtab[n].buf[bytes] = '\0';
#  246|   

Error: CPPCHECK_WARNING (CWE-476): [#def355]
libcaca-0.99.beta20/tools/makefont.c:245: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: gtab
#  243|               gtab[n].unicode = i;
#  244|               bytes = caca_utf32_to_utf8(gtab[n].buf, gtab[n].unicode);
#  245|->             gtab[n].buf[bytes] = '\0';
#  246|   
#  247|               /* Render glyph on a bitmap */

Error: CPPCHECK_WARNING (CWE-476): [#def356]
libcaca-0.99.beta20/tools/makefont.c:248: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: gtab
#  246|   
#  247|               /* Render glyph on a bitmap */
#  248|->             pango_layout_set_text(l, gtab[n].buf, -1);
#  249|               memset(img.buffer, 0, img.pitch * height);
#  250|               pango_ft2_render_layout(&img, l, 0, 0);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def357]
libcaca-0.99.beta20/tools/makefont.c:248:13: warning[-Wanalyzer-malloc-leak]: leak of ‘glyph_data’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:180:18: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:248:13: danger: ‘glyph_data’ leaks here; was allocated at [(12)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/11)
#  246|   
#  247|               /* Render glyph on a bitmap */
#  248|->             pango_layout_set_text(l, gtab[n].buf, -1);
#  249|               memset(img.buffer, 0, img.pitch * height);
#  250|               pango_ft2_render_layout(&img, l, 0, 0);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def358]
libcaca-0.99.beta20/tools/makefont.c:250:13: warning[-Wanalyzer-malloc-leak]: leak of ‘glyph_data’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:180:18: acquire_memory: allocated here
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:250:13: danger: ‘glyph_data’ leaks here; was allocated at [(12)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/11)
#  248|               pango_layout_set_text(l, gtab[n].buf, -1);
#  249|               memset(img.buffer, 0, img.pitch * height);
#  250|->             pango_ft2_render_layout(&img, l, 0, 0);
#  251|   
#  252|               /* Fix glyphs that we know how to handle better */

Error: CPPCHECK_WARNING (CWE-476): [#def359]
libcaca-0.99.beta20/tools/makefont.c:253: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: gtab
#  251|   
#  252|               /* Fix glyphs that we know how to handle better */
#  253|->             fix_glyph(&img, gtab[n].unicode, current_width, height);
#  254|   
#  255|               /* Write bitmap as an escaped C string */

Error: CPPCHECK_WARNING (CWE-682): [#def360]
libcaca-0.99.beta20/tools/makefont.c:256: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: pointer addition with NULL pointer.
#  254|   
#  255|               /* Write bitmap as an escaped C string */
#  256|->             memset(glyph_data + current_offset, 0, current_size);
#  257|               k = 0;
#  258|               for(y = 0; y < height; y++)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def361]
libcaca-0.99.beta20/tools/makefont.c:265:21: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘glyph_data’
libcaca-0.99.beta20/tools/makefont.c:90:5: enter_function: entry to ‘main’
libcaca-0.99.beta20/tools/makefont.c:108:7: branch_false: following ‘false’ branch (when ‘argc == 5’)...
libcaca-0.99.beta20/tools/makefont.c:116:5: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:121:7: branch_false: following ‘false’ branch (when ‘dpi != 0’)...
libcaca-0.99.beta20/tools/makefont.c:121:21: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:135:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/makefont.c:142:10: branch_false: ...to here
libcaca-0.99.beta20/tools/makefont.c:167:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:169:9: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:171:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:172:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:180:18: acquire_memory: this call could return NULL
libcaca-0.99.beta20/tools/makefont.c:205:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:205:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:206:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:206:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:207:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:207:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:208:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:208:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:209:5: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:209:5: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:210:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:210:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:211:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:211:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:212:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:212:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:213:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:213:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:214:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:214:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:215:5: call_function: calling ‘printf_u16’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:215:5: return_function: returning to ‘main’ from ‘printf_u16’
libcaca-0.99.beta20/tools/makefont.c:220:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:222:26: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:222:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:222:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:223:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:223:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:224:9: call_function: calling ‘printf_u32’ from ‘main’
libcaca-0.99.beta20/tools/makefont.c:224:9: return_function: returning to ‘main’ from ‘printf_u32’
libcaca-0.99.beta20/tools/makefont.c:231:16: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:233:13: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:233:31: branch_true: following ‘true’ branch...
libcaca-0.99.beta20/tools/makefont.c:238:16: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:258:24: branch_true: following ‘true’ branch (when ‘y < height’)...
 branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:260:28: branch_true: following ‘true’ branch (when ‘x < current_width’)...
libcaca-0.99.beta20/tools/makefont.c:262:37: branch_true: ...to here
libcaca-0.99.beta20/tools/makefont.c:265:21: danger: ‘glyph_data + (sizetype)(current_offset + (k >> 3))’ could be NULL: unchecked value from [(12)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/11)
#  263|   
#  264|                       pixel >>= (8 - bpp);
#  265|->                     glyph_data[current_offset + k / 8]
#  266|                           |= pixel << (8 - bpp - (k % 8));
#  267|                       k += bpp;

Error: COMPILER_WARNING (CWE-195): [#def362]
libcaca-0.99.beta20/tools/makefont.c:327:39: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’
#  327 |                     for (int x = 0; x < gtab[n].data_width; ++x)
#      |                                       ^
#  325|                   for (int y = 0; y < height; ++y)
#  326|                   {
#  327|->                     for (int x = 0; x < gtab[n].data_width; ++x)
#  328|                       {
#  329|                           int val = glyph_data[gtab[n].data_offset + y * gtab[n].data_width + x];

Error: GCC_ANALYZER_WARNING (CWE-401): [#def363]
libcaca-0.99.beta20/tools/sortchars.c:96:9: warning[-Wanalyzer-malloc-leak]: leak of ‘img’
libcaca-0.99.beta20/tools/sortchars.c:59:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/sortchars.c:64:9: branch_false: ...to here
libcaca-0.99.beta20/tools/sortchars.c:65:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/sortchars.c:71:10: branch_false: ...to here
libcaca-0.99.beta20/tools/sortchars.c:77:11: acquire_memory: allocated here
libcaca-0.99.beta20/tools/sortchars.c:80:16: branch_true: following ‘true’ branch (when ‘y != 3’)...
 branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:81:20: branch_true: following ‘true’ branch (when ‘x != 2’)...
libcaca-0.99.beta20/tools/sortchars.c:82:13: branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:88:19: branch_true: following ‘true’ branch (when ‘i != 127’)...
 branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:89:20: branch_true: following ‘true’ branch (when ‘y != 3’)...
 branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:90:24: branch_true: following ‘true’ branch (when ‘x != 2’)...
libcaca-0.99.beta20/tools/sortchars.c:91:17: branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:94:19: branch_true: following ‘true’ branch (when ‘i != 127’)...
libcaca-0.99.beta20/tools/sortchars.c:96:9: branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:96:9: danger: ‘img’ leaks here; was allocated at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   94|       for(i = 0x20; i < GLYPHS; i++)
#   95|       {
#   96|->         caca_put_char(cv, 0, 0, i);
#   97|   
#   98|           /* Render the canvas onto our image buffer */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def364]
libcaca-0.99.beta20/tools/sortchars.c:99:9: warning[-Wanalyzer-malloc-leak]: leak of ‘img’
libcaca-0.99.beta20/tools/sortchars.c:59:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/sortchars.c:64:9: branch_false: ...to here
libcaca-0.99.beta20/tools/sortchars.c:65:7: branch_false: following ‘false’ branch...
libcaca-0.99.beta20/tools/sortchars.c:71:10: branch_false: ...to here
libcaca-0.99.beta20/tools/sortchars.c:77:11: acquire_memory: allocated here
libcaca-0.99.beta20/tools/sortchars.c:80:16: branch_true: following ‘true’ branch (when ‘y != 3’)...
 branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:81:20: branch_true: following ‘true’ branch (when ‘x != 2’)...
libcaca-0.99.beta20/tools/sortchars.c:82:13: branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:88:19: branch_true: following ‘true’ branch (when ‘i != 127’)...
 branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:89:20: branch_true: following ‘true’ branch (when ‘y != 3’)...
 branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:90:24: branch_true: following ‘true’ branch (when ‘x != 2’)...
libcaca-0.99.beta20/tools/sortchars.c:91:17: branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:94:19: branch_true: following ‘true’ branch (when ‘i != 127’)...
libcaca-0.99.beta20/tools/sortchars.c:96:9: branch_true: ...to here
libcaca-0.99.beta20/tools/sortchars.c:99:9: danger: ‘img’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   97|   
#   98|           /* Render the canvas onto our image buffer */
#   99|->         caca_render_canvas(cv, f, img, w, h, 4 * w);
#  100|   
#  101|           for(y = 0; y < h * DY; y++)

Error: CPPCHECK_WARNING (CWE-476): [#def365]
libcaca-0.99.beta20/tools/sortchars.c:217: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: buf
#  215|       int x, y, ret;
#  216|   
#  217|->     memset(buf, 0, 256 * 256);
#  218|       memset(dst, 0, WIDTH * DX * HEIGHT * DY);
#  219|   

Error: GCC_ANALYZER_WARNING (CWE-688): [#def366]
libcaca-0.99.beta20/tools/sortchars.c:217:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘buf’ where non-null expected
libcaca-0.99.beta20/tools/sortchars.c:213:20: acquire_memory: this call could return NULL
libcaca-0.99.beta20/tools/sortchars.c:217:5: danger: argument 1 (‘buf’) from [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_memset’ must be non-null
#  215|       int x, y, ret;
#  216|   
#  217|->     memset(buf, 0, 256 * 256);
#  218|       memset(dst, 0, WIDTH * DX * HEIGHT * DY);
#  219|   

Error: CPPCHECK_WARNING (CWE-476): [#def367]
libcaca-0.99.beta20/tools/sortchars.c:218: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: dst
#  216|   
#  217|       memset(buf, 0, 256 * 256);
#  218|->     memset(dst, 0, WIDTH * DX * HEIGHT * DY);
#  219|   
#  220|       /* Fill image */

Error: GCC_ANALYZER_WARNING (CWE-688): [#def368]
libcaca-0.99.beta20/tools/sortchars.c:218:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘dst’ where non-null expected
libcaca-0.99.beta20/tools/sortchars.c:214:21: acquire_memory: this call could return NULL
libcaca-0.99.beta20/tools/sortchars.c:218:5: danger: argument 1 (‘dst’) from [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#argument 1 of ‘__builtin_memset’ must be non-null
#  216|   
#  217|       memset(buf, 0, 256 * 256);
#  218|->     memset(dst, 0, WIDTH * DX * HEIGHT * DY);
#  219|   
#  220|       /* Fill image */

Scan Properties

analyzer-version-clippy1.90.0
analyzer-version-cppcheck2.18.3
analyzer-version-gcc15.2.1
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-240.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-gcc-latest-x86_64
project-namelibcaca-0.99-0.80.beta20.fc44
store-results-to/tmp/tmp5115aixr/libcaca-0.99-0.80.beta20.fc44.tar.xz
time-created2025-10-28 18:53:56
time-finished2025-10-28 18:56:23
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-gcc-latest-x86_64' '-t' 'gcc,cppcheck,shellcheck,clippy,unicontrol' '-o' '/tmp/tmp5115aixr/libcaca-0.99-0.80.beta20.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--install=gcc-latest' '--gcc-analyzer-bin=/opt/gcc-latest/bin/gcc' '/tmp/tmp5115aixr/libcaca-0.99-0.80.beta20.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251027.143044.ge6b947b-1.el9