Issue #8978 has been updated by Yusuke Endoh. Thank you! Nagachika, I think r44751 is also needed to backport. -- Yusuke Endoh <mame / tsg.ne.jp> ---------------------------------------- Bug #8978: Fiddle possibly misuses mprotect https://bugs.ruby-lang.org/issues/8978#change-44711 * Author: Yusuke Endoh * Status: Closed * Priority: Normal * Assignee: Aaron Patterson * Category: ext * Target version: 2.1.0 * ruby -v: ruby 2.1.0dev (2013-10-02 trunk 43121) [x86_64-linux] * Backport: 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: REQUIRED ---------------------------------------- Hello Aaron, Coverity Scan found a possible bug in "initialize" function of ext/fiddle/closure.c: > result = ffi_prep_closure(pcl, cif, callback, (void *)self); > ... > i = mprotect(pcl, sizeof(pcl), PROT_READ | PROT_EXEC) I don't understand the code completely, but the size of the pointer does not seem to make sense. Perhaps, "sizeof(pcl)" should be "sizeof(*pcl)". The same applies to dealloc: > munmap(cls->pc1, sizeof(cls->pc1)); BTW, ffi_prep_closure seems deprecated. We should use ffi_prep_closure_loc instead when it is available. -- Yusuke Endoh <mame / tsg.ne.jp> -- http://bugs.ruby-lang.org/