[Gelistirici] [paketler-commits] r62109 - playground/murat/applications/games/nimuh

Murat Şenel muratasenel at gmail.com
23 Mar 2009 Pzt 20:24:02 EET


2009/3/23 Onur Küçük <onur at pardus.org.tr>:
>
> On Mon, 23 Mar 2009 18:17:11 +0200 (EET)
> paketler-commits at pardus.org.tr wrote:
>
>> Author: murat
>> Date: Mon Mar 23 18:17:11 2009
>> New Revision: 62109
>>
>> Modified:
>>    playground/murat/applications/games/nimuh/actions.py
>> Log:
>> *** buffer overflow detected *** when using -D FORTIFY_SOURCE
>
>  Fortifysource bufferoverflow a sebep olmuyor olmalı, büyük ihtimalle
> bir güvenlik açığı zaten var ve fortifysource onu yakalıyordur
>
>  İstisna olabilir ama bunun üzerine gitmekte fayda var
>
>
> --
>  Onur Küçük                                      Knowledge speaks,
>  <onur.--.-.pardus.org.tr>                       but wisdom listens
>
> _______________________________________________
> Gelistirici mailing list
> Gelistirici at pardus.org.tr
> http://liste.pardus.org.tr/mailman/listinfo/gelistirici
>

Eğer, ~/.nimuh dizini yoksa oyun ilk açılışta buffer overflow'a sebep
oluyor. Söz konusu dizin varsa, sorun olmuyor.
.nimuh dizinin oluşturulduğu kısım aşağıda. c/c++ bilmediğim için eğer
yanlış bişi varsa burda söylersen hemen düzeltip denerim :)


	void Hash::loadFromConfDirectory(string f) {
		if (Hash::pathData=="") {
			char *directory = NULL;
			char tmp_dir[128];
			if (getenv("HOME") != NULL) {
				directory = getenv("HOME");
				sprintf (tmp_dir, "mkdir %s/.%s", directory, CONFIG_DIR_UNIX);
				system(tmp_dir);
				sprintf (directory, "%s/.%s/", directory, CONFIG_DIR_UNIX);
			} else {
				directory = "./data/";
			}
			Hash::pathData = directory;
		}
        file = Hash::pathData + f;
		
        FILE *c = fopen((char*)file.c_str(), "r");
        if(!c) save();
        parseHashXML((char*)file.c_str(), this);
    }

-- 
Murat Şenel



Gelistirici mesaj listesiyle ilgili daha fazla bilgi