5/24 ã«éå¬ãããNSEGã®ãLinuxã®ããã¿ãèªæ¸ä¼ã®ç¬¬4åã«åå ãã¾ãããåå è 4åãããã«æ¸ã£ãï¼
ä»åã¯ã第5ç« ã®éä¸(p.98)ãã第6ç« ã®éä¸(p.135)ã¾ã§èªã¿ã¾ããã
å人çãªåç©«
ä»åã®ç¯å²ã§ã¯ç¹ã«ç¥ããªãã£ããã¨ã¯ç¡ãã£ãã§ãã
誤æ¤ç
- p.104 ãbefore invalid accessãã®ãã©ã³ããç°ãªãã
- p.130 誤æ¤ãããªããã©ãsarã®çµæã®1è¡ãæãè¿ããã¦ã¦è¦ã«ãããèå³ãããã®ã¯ kbmemused ã ããªã®ã ãããå³å´ã¯æãè¿ããªãã¦è¦ããªãã¦ããããããªã
ãã®ä»
ãã¼ã¸ãã¼ãã«ã®ã¢ãã¬ã¹ãã100-200ãã200-300ãã¨ãªã£ã¦ã¦ãã200ããã©ã£ã¡ã®ãã¼ã¸ããããã«ããã¨ããæè¦ãããã¾ãããã¾ãã¡ãã£ã¨èããã°ã100-199ãã200-299ãã¨ããæå³ã ã¨ããããããã¶ã /proc/*/maps ã®åºåã«åããããã ã¨æããã§ããã説æããã£ãæ¹ãããããããã£ãããã
p.101ã®èª¬æãããã¼ã¸ãã©ã¼ã«ããçºçããã¨SIGSEGVãèµ·ãããã¿ããã«èªãã¦ãã¾ã£ã¦éåæã説æããç©çã¡ã¢ãªæªå²ãå½ã¦ããã¼ã¸ã®ããã«æ¸ããã¦ããã©ãp.122ã®ç¨èªã§ã®ãããã»ã¹ã«ã¯æªå²ãå½ã¦ãã®ç¶æ ã®ã¯ãããç©çã¡ã¢ãªæªå²ãå½ã¦ãã ã¨p.122ã®ãããã»ã¹ã«å²ãå½ã¦æ¸ã¿ã ãç©çã¡ã¢ãªã¯æªå²ãå½ã¦ãã ã¨æã£ã¦ãã¾ãããã
ããããæã®Solarisã®malloc()
ã¯mmap()
ãããªãã¦brk()
ã使ã£ã¦ããªã¼ã¨æãã ããããã®ããfree()
ãã¦ãããã»ã¹ãµã¤ãºã¯æ¸ããªãã£ããmmap()
ã使ãmalloc()
ãä½ã£ã¦LD_PRELOAD
ã§å·®ãæ¿ãã¦éãã ããã¦ããæãããã
次åã¯6/6ã§ãã