The Bug 🐛 I faced a very weird bug lately. I have to split a disk into multiple equally sized blocks and generate hashes of those blocks. I wrote this module three months before and all my unit test cases always pass too. One fine morning, all of a sudden the the unit test started failing. Even more weird, when I ran it again, it started passing. Once in say, 20 times, the test was failing.
This challenge is part of IceCTF - a wonderful jeopardy style CTF event organized by the Reykjavík University for a span of 15 long days. Had a very good experience of participating in a good CTF after a long time. I will be posting writeups on some of the interesting challenges, I came across. Here is the challenge file - dear_diary with md5sum : 45ecfd320d3b8236d3adece3041edb0f Running file on dear_diary shows
This is the writeup for ievel 1 challenge in Pan Labyrenth CTF - Unix track. Download the original challenge file The given file is an obfuscated perl script. There are chunks of base64 strings which are decoded and appended to $a and then at last a huge chunk 0f base64 string is decoded and then eval-ed. Decoding the string to be evaluated, we can find more eval statements in it.
My first pull request to libgit2 project. It was this particular issue #3817, I chose to resolve. It was a bug in git_config_parse_int64() function in parsing MIN_INT64 (-9223372036854775808) It is a minor bug, which occurs in the rarest of the cases. Neverthless, it was fun to debug and fix this one. A cursory look at the code tells the following. Check if the number is positive or negative if (*p == ‘-’ || *p == ‘+’) if (*p++ == ‘-’) neg = 1; ovfl - overflow flag nn - number n - assign after overflow Code: