Chromium ํ๋ก์ ํธ์ ๊ฐ๋ฐ์
Chromium์ ๋์์ธํ ๋ ์ฒ์์๋
์ฝ๋๋ฒ ์ด์ค์ ๋ณด์์ ์ ์งํ๊ธฐ ์ํด Google์ '
์ฝ๋๋ฒ ์ด์ค์ ๋ณด์์ ๋์ฑ ๊ฐํํ๊ธฐ ์ํด ์ฝ๋๋ฒ ์ด์ค์ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฅ๊ฐ ๋ํ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ํ๋ก์ ํธ๊ฐ ์์๋์์ต๋๋ค. ์ธ ๊ฐ์ง ์ฃผ์ ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์์ ํ ์๋์ ์ํ ๊ธฐ๋ฅ์ด ํฌํจ๋ C++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ํ๋์จ์ด ๋ณดํธ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๊ฐ๋น์ง ์์ง๊ธฐ์ ๋ฒ์๋ฅผ ํ์ฅํ๋ ๊ฒ์
๋๋ค.
์์ ์ ๋ ๊ฐ์ง ์์ญ์ ์ง์ค๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
- ์ฑ๋ฅ์ ๋ํ ๋ถ์ ์ ์ธ ์ํฅ(์ถ๊ฐ ๊ฒฝ๊ณ ๊ฒ์ฌ ๋ฐ ๊ฐ๋น์ง ์์ง)์ ๋ฐฐ์ ํ์ง ์๋ C++ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ํ ์ค์ํ ๋ณ๊ฒฝ์
๋๋ค. ์์ ํฌ์ธํฐ ๋์ ์ ๋ค์ ์ ํ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์๋ฉ๋๋ค.
๊ธฐ์ Ptr ์ด๋ฅผ ํตํด ์ฑ๋ฅ, ๋ฉ๋ชจ๋ฆฌ ์๋น ๋ฐ ์์ ์ฑ์ ๋์ ๋๋ ๋ถ์ ์ ์ธ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์ ์ ์ฉ ๊ฐ๋ฅํ use-after-free ์ค๋ฅ๋ฅผ ๋ณด์ ์ํ์ ์ ๊ธฐํ์ง ์๋ ์ถฉ๋๋ก ์ค์ผ ์ ์์ต๋๋ค. - ์ปดํ์ผ ํ์์ ๋ฉ๋ชจ๋ฆฌ ์์ ๊ฒ์ฌ๋ฅผ ์ํํ๋๋ก ์ค๊ณ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋ ์คํ ์ค ์ด๋ฌํ ๊ฒ์ฌ์ ๋ด์ฌ๋ ์ฑ๋ฅ์ ๋ํ ๋ถ์ ์ ์ธ ์ํฅ์ ์ ๊ฑฐํ ์ ์์ง๋ง ์๋ก์ด ์ธ์ด์ ์ฝ๋์ ์ฝ๋์ ์ํธ ์์ฉ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค. C++).
๋ฉ๋ชจ๋ฆฌ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ฐ์ฅ ๊ฐ๋จํ์ง๋ง ํจ์จ์ฑ์ด ๋จ์ด์ง๋ ๋ฐฉ๋ฒ์
๋๋ค. Rust๋ก ์ฝ๋๋ฅผ ๋ค์ ์์ฑํ๋ ๊ฒ์ ๊ฐ์ฅ ํจ๊ณผ์ ์ด์ง๋ง ๋งค์ฐ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ฐ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru