🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #308470

Re: Rozmiar tablic zawierających łańcuch

#308470
From: M.M.
Date: Tue, 19 Apr 2016 12:43
26 lines
2756 bytes
On Tuesday, April 19, 2016 at 1:29:07 PM UTC+2, Mateusz Viste wrote:
> On 19/04/2016 12:23, Norbert Cielecki wrote:
> > Czy ktoś mógłby mi wyjaśnić, dlaczego rozmiar tablic deklarowanych na
> > początku niżej przedstawianego programu nie jest brany pod uwagę i mogę
> > wpisać łańcuchy o dowolnym rozmiarze
> 
> rozmiar jak najbardziej jest "brany pod uwagę", i system alokuje na 
> stacku tyle ile podasz (ewentualnie nieznacznie więcej, zależnie od 
> implementacji, wymogów dot. wyrównania danych do WORDa itp).
> 
> fakt, że możesz zapisać więcej danych pod wskazany adres i je z powrotem 
> odczytać to przypadek. niemniej jednak nadpisujesz coś innego (a co 
> dokładnie, można tylko zgadywać). akurat "szczęśliwie" się złożyło że to 
> co nadpisałeś też należy do twojej aplikacji, ale równie dobrze mógłbyś 
> trafić na adres z zewnątrz, a to poskutkowałoby natychmiastowym segfaultem.
> 
> słowem (tudzież zdaniem) - system alokuje to co mu każesz, ale to gdzie 
> zapisujesz dane to już twoja odpowiedzialność. zamiast scanf() 
> zalecałbym skorzystanie z fgets(), któremu możesz podać maksymalny 
> rozmiar danych wejściowych, unikając tym samym przykrych sytuacji 
> związanych z buffer overflow.

Dawno nie używałem scanf, więc może coś mylę, ale chyba scanf też może 
pobierać rozmiar łańcuchów.

Pozdrawiam
Technical Details
Message-ID: <a0165c1b-9941-4529-bad1-b6430ce56289@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.glorb.com!g8no4190434igr.0!news-out.google.com!j7ni379igm.0!nntp.google.com!gy3no6178853igb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <57160720$0$662$65785112@news.neostrada.pl> <57161682$0$3298$426a74cc@news.free.fr>

Show Full Headers
Complete Article Headers
X-Received: by 10.107.6.211 with SMTP id f80mr2010226ioi.11.1461069807289;        Tue, 19 Apr 2016 05:43:27 -0700 (PDT)
X-Received: by 10.50.78.1 with SMTP id x1mr151694igw.6.1461069807268; Tue, 19 Apr 2016 05:43:27 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.glorb.com!g8no4190434igr.0!news-out.google.com!j7ni379igm.0!nntp.google.com!gy3no6178853igb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Tue, 19 Apr 2016 05:43:26 -0700 (PDT)
In-Reply-To: <57161682$0$3298$426a74cc@news.free.fr>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.37.232.66; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 178.37.232.66
References: <57160720$0$662$65785112@news.neostrada.pl> <57161682$0$3298$426a74cc@news.free.fr>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a0165c1b-9941-4529-bad1-b6430ce56289@googlegroups.com>
Subject: Re: Rozmiar tablic zawierających łańcuch
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Tue, 19 Apr 2016 12:43:27 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit