RubyのC拡張を作る時に気を付けるリソースリーク
code:c
// コードはかなり簡略化したイメージです
VALUE resize_image_file(VALUE self, VALUE filename, VALUE width, VALUE height){
gdImagePtr im, om;
im = gdImageCreateFromJpeg(StringValuePtr(filename_in));
// ↓の NUM2INT で例外が発生すると im の画像が放置されリークする
om = gdImageScale(im, NUM2INT(w), NUM2INT(h));
// ...
}