متوفر مترجم mruby 3.2

تقديم إصدار mruby 3.2، وهو مترجم مضمن للغة البرمجة الديناميكية الموجهة للكائنات Ruby. يوفر Mruby توافقًا أساسيًا في بناء الجملة على مستوى Ruby 3.x، باستثناء دعم مطابقة الأنماط ("case .. in"). يتمتع المترجم باستهلاك منخفض للذاكرة ويركز على تضمين دعم لغة روبي في التطبيقات الأخرى. يمكن للمترجم المدمج في التطبيق تنفيذ كل من التعليمات البرمجية المصدر بلغة روبي والرمز الثانوي الذي تم الحصول عليه باستخدام المترجم "mrbc" الذي طوره المشروع. يتم توزيع كود مصدر mruby بموجب ترخيص MIT.

يعمل الإصدار الجديد على إصلاح 19 نقطة ضعف يمكن أن تؤدي إلى تجاوز سعة المخزن المؤقت، أو عدم مرجعية المؤشر الفارغ، أو الوصول إلى الذاكرة بعد الحرية عندما يقوم المترجم بمعالجة كود روبي المنسق خصيصًا.

تشمل التغييرات غير الأمنية ما يلي:

  • دعم لتمرير الوسائط المجهولة (*، **، &)،
  • دعم الأعداد الصحيحة الكبيرة (mruby-bigint).
  • دعم تنزيل الثنائيات المترجمة بالامتداد ".mrb".
  • إضافة خيار "--no-optimize" لتعطيل التحسينات في برنامج التحويل البرمجي mrbc.
  • تنفيذ أساليب Class#subclasses وModules#undef_instance_methods في mruby-class-ext.
  • المكتبات المدمجة الجديدة mruby-errno وmruby-set وmruby-dir وmruby-data.

المصدر: opennet.ru

إضافة تعليق