Planetfall গত দিনে পাবলিক রিলিজ, কিন্তু আমি Infidel সابيع ধরে কাজ করছি। আমি একটি dreadful বাগ খুঁজে পেয়েছি: একটি wild pointer যা মেমরি scribbles। অধিকাংশ মানুষ এটি trivial মনে করে, কিন্তু একজন C প্রোগ্রামার হিসেবে, আমি মেমরি কর্পশনকে সবচেয়ে বড় পাপ মনে করি। এটি একটি কম্পাইলার বগও। Infidel ENDLESS-DESERT ব্যবহার করে অম্যাপড এলাকা সিমুলেট করার জন্য। ড্রপ করা আইটেম DESERT-TABLEে lat/long সহ যেতে পারে। DESERT-TO-TABLE রুটিনে একটি বাগ আছে যেখানে এটি SLOC argument সঠিকভাবে হ্যান্ডল করতে ব্যর্থ হচ্ছে, মেমরি কর্পশনের কারণ banaye। এই বাগের पता করা কঠিন কারণ আইটেমs রेतে হারানোর এক-তিন সম্ভাবনা আছে। আমি Infidel release 22 serial 840522 (Macintosh update) বিশ্লেষণ করেছি; মূল রিলিজ 830916ে same বাগ আছে। রুটিন DESERT-TABLE লেখা incorrect indexing ব্যবহার করে, adjacent মেমরি overwrite করে। এটি মেমরি সুরক্ষার উলঝুলি ছাড়াই minimal গেমপ্লে প্রভাবের বावजूद। Z-machine বাস্তবায়ন pointer arithmetic ত্রুটির মাধ্যমে তালিকা আপডেট লুপে দুষ্টতা প্রকাশ করে।
উৎস: Hacker News · সারাংশ: HeadlinesBriefing