1.7๋ ๊ฐ์ ๊ฐ๋ฐ ๋์ GNU cflow XNUMX ์ ํธ๋ฆฌํฐ๊ฐ ์ถ์๋์์ต๋๋ค. C ํ๋ก๊ทธ๋จ์ ํจ์ ํธ์ถ์ ๋ํ ์๊ฐ์ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ถํ๋๋ก ์ค๊ณ๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ผ๋ฆฌ๋ฅผ ์ฐ๊ตฌํ๋ ๊ฒ์ ๋จ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ํ๋ ํ๋ก๊ทธ๋จ์ ์คํํ ํ์ ์์ด ์์ค ํ ์คํธ์ ๋ถ์๋ง์ ํ ๋๋ก ๊ตฌ์ถ๋ฉ๋๋ค. ์ ๋ฐฉ ๋ฐ ํ๋ฐฉ ์คํ ํ๋ฆ ๊ทธ๋ํ ์์ฑ์ด ์ง์๋๋ฉฐ, ์ฝ๋ ํ์ผ์ ๋ํ ๊ต์ฐจ ์ฐธ์กฐ ๋ชฉ๋ก ์์ฑ๋ ์ง์๋ฉ๋๋ค.
์ด ๋ฆด๋ฆฌ์ค๋ Graphviz ํจํค์ง์์ ํ์ ์๊ฐํ๋ฅผ ์ํด DOT ์ธ์ด๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๊ธฐ ์ํ "dot" ์ถ๋ ฅ ํ์('--format=dot')์ ๋ํ ์ง์ ๊ตฌํ์ผ๋ก ์ ๋ช ํฉ๋๋ค. '--main' ์ต์ ์ ๋ณต์ ํ์ฌ ์ฌ๋ฌ ์์ ๊ธฐ๋ฅ์ ์ง์ ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๊ฐ ํจ์์ ๋ํด ๋ณ๋์ ๊ทธ๋ํ๊ฐ ์์ฑ๋ฉ๋๋ค. ๋ํ "--target=FUNCTION" ์ต์ ์ด ์ถ๊ฐ๋์๋๋ฐ, ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ๊ฒฐ๊ณผ ๊ทธ๋ํ๋ฅผ ํน์ ํจ์๋ฅผ ํฌํจํ๋ ๋ถ๊ธฐ๋ก๋ง ์ ํํ ์ ์์ต๋๋ค("--target" ์ต์ ์ ์ฌ๋ฌ ๋ฒ ์ง์ ํ ์ ์์ต๋๋ค). ๊ทธ๋ํ ํ์์ ์ํ ์๋ก์ด ๋ช ๋ น์ด cflow-mode์ ์ถ๊ฐ๋์์ต๋๋ค: "c" - ํธ์ถ ํจ์๋ก ์ ํ, "n" - ์ฃผ์ด์ง ์ค์ฒฉ ๋ ๋ฒจ์ ๋ค์ ํจ์๋ก ์ ํ, "p" - ๋์ผํ ์ค์ฒฉ ๋ ๋ฒจ์ ์ด์ ํจ์๋ก ์ ํ.
์๋ก์ด ๋ฒ์ ์์๋ 2019๋
์ ๋ฐ๊ฒฌ๋์ด cflow์์ ํน์ํ๊ฒ ํฌ๋งท๋ ์์ค ํ
์คํธ๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ฉ๋ชจ๋ฆฌ ์์์ ์ผ์ผํค๋ ๋ ๊ฐ์ง ์ทจ์ฝ์ ๋ ์์ ํ์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์ทจ์ฝ์ (CVE-2019-16165)์ ํ์ ์ฝ๋(parser.c์ ์ฐธ์กฐ ํจ์)์ ์ฌ์ฉ ํ ํด์ ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ๋ ๋ฒ์งธ ์ทจ์ฝ์ (CVE-2019-16166)์ nexttoken() ํจ์์ ๋ฒํผ ์ค๋ฒํ๋ก์ ๊ด๋ จ์ด ์์ต๋๋ค. ๊ฐ๋ฐ์์ ๋ฐ๋ฅด๋ฉด, ์์์ ์ธ๊ธํ ๋ฌธ์ ๋ ๊ณต๊ณต ์๋น์ค์ ๊ธด๊ธ ์ข
๋ฃ์ ๊ตญํ๋๋ฏ๋ก ๋ณด์ ์ํ์ด ๋์ง ์์ต๋๋ค.
์ถ์ฒ : opennet.ru
