C++ Veri Büyüklüğü Kontrolü Veya Substr Hakkında Yardım
-
Arkadaşlar kafayı yemek üzerindeyim. Elimde bir mod var. Bu modda cookie ile rconpas saklayıp modun içerisinde gezinmeye yarıyor. Ama gel görki cookiede rconpassı AAAAAAAAAAAA diye ebesininkine kadar uzatınca serverı patlatıyor. Birkaç yerde fix paylaşmışlar ama yaptığım halde düzelmedi tekrar yiyor.
Altta detaylı birşekilde verdim.
Cause/Fix:
The problem code is from lines 542-552 in server.cpp:542
543
544
545
546
547
548
549
550
551
552char clbuf[11];
for(i=0;(size_t)i<strlen(input)-17;i++)
{
if(!strnicmp(input+i,"\nContent-Length: ",17))
{
LOG_DBG_SERVER(("Content-length spotted"));
i+=17;
for(j=0;input[i]!='\n'&&input[i];i++,j++)
clbuf[j]=input[i];
clbuf[j]='\0';
The buffer, clbuf, allocated on line 542, is written into with the loop on lines
550-551, and then null-terminated. The fix is to replace line 550 with:
for(j=0;input[i]!='\n'&&input[i]&&j<10;i++,j++)verdiği satırı değiştiriyorum yinede yamuluyor. Benim isteğim şu. clbuf değişkenini nasıl kontrol ettirebilirim. Öle ahım şahım c++ bilgim yok hatta hiç yok
denilebilir kendimce çırpınıyorum işte.if($clbuf>10)
{
$clbuf=0;
}gibisinden bu c++ ile nası yaparım araştırdım biraz kurcaladım bulamadım.
Substr ile denedim hani dedim cookie ile postlanan verinin sadece 10 karekterini alsam diye bu seferde dosya derlenmiyor hata veriyor.
Bi el atın bakalım hepberaber büyük birşeyi fixleyelim :P
Toplam Hit: 1696 Toplam Mesaj: 1
