474,048 Members | 1,632 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Why is it dangerous?

'evening.

I'm not new to C and have been programming in it since I was 8 but
here's a strange problem I've never seen before.

When I compile a program from our C course with a windows compiler
there is no problem but when I try to compile it with a linux compiler
it complains that

a_03.c:(.text+0 x4d): warning: the `gets' function is dangerous
and should not be used.

Is linux more dangerous than windows? Where can I download a
non dangerous gets function? I have never used gets before is
there undefined behavior somewhere?
Here is a trimmed down example program from my assignment that
demonstrates the problem

#include <stdio.h>
#include <malloc.h>

void main()
{
char *string;
printf("enter string (max 2000 chars): ");
fflush(stdin);
fflush(stdout);
string = (char *)malloc(2001);
if(!string) exit(1);
gets(string);
printf("you entered: %s\n", string);
free(string);
exit(0);
}

On windows with TurboC and Lcc no error is printed. On linux with
gcc it says gets is dangerous.

Please advise my instructor says gcc is overly pedantic.
Aug 10 '08
233 8946
On Aug 15, 6:45*pm, Keith Thompson <ks***@mib.orgw rote:
s0****@gmail.co m writes:
On Aug 15, 3:06*pm, Flash Gordon <sp**@flash-gordon.me.ukwro te:
<snip>
You are BOTH just giving the trolls an excuse for more bitching about
topicality rules and hypocrisy and this time they have a point. You BOTH
know that this is completely inappropriate for this group.
Be careful about what you say. Are you referring to me when you say
"troll"? I'm not (at least no one's ever called me that before).
You're deliberately calling a "troll" someone who isn't one and for no
reason. That makes *you* a troll.
<snip>

Flash will no doubt answer for himself, but I don't believe he was
referring to you, and I'm at a loss to understand why you would assume
that he was.
Because I'm the one who posted the humorous list about "On-topic" and
"Off-topic" subjects, which may well be interpreted as someone
"bitching about topicality rules."

Sebastian

Aug 16 '08 #161
s0****@gmail.co m writes:
On Aug 15, 6:45*pm, Keith Thompson <ks***@mib.orgw rote:
>s0****@gmail.co m writes:
On Aug 15, 3:06*pm, Flash Gordon <sp**@flash-gordon.me.ukwro te:
<snip>
>You are BOTH just giving the trolls an excuse for more bitching about
topicality rules and hypocrisy and this time they have a point. You BOTH
know that this is completely inappropriate for this group.
Be careful about what you say. Are you referring to me when you say
"troll"? I'm not (at least no one's ever called me that before).
You're deliberately calling a "troll" someone who isn't one and for no
reason. That makes *you* a troll.
<snip>

Flash will no doubt answer for himself, but I don't believe he was
referring to you, and I'm at a loss to understand why you would assume
that he was.

Because I'm the one who posted the humorous list about "On-topic" and
"Off-topic" subjects, which may well be interpreted as someone
"bitching about topicality rules."
Antoninus Twink has posted in this thread. I wouldn't worry about
anyone calling *you* a troll.

But I'll point out that Flash didn't mention your name, yet you jumped
very quickly from asking him whether he was calling you a troll to
stating, with no apparent doubt, that he was deliberately doing so.
If you really were worried about it, you might have asked and then
waited for an answer.

--
Keith Thompson (The_Other_Keit h) ks***@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Aug 16 '08 #162
s0****@gmail.co m wrote, On 16/08/08 00:59:
On Aug 15, 6:45 pm, Keith Thompson <ks***@mib.orgw rote:
>s0****@gmail.co m writes:
>>On Aug 15, 3:06 pm, Flash Gordon <sp**@flash-gordon.me.ukwro te:
<snip>
You are BOTH just giving the trolls an excuse for more bitching about
topicality rules and hypocrisy and this time they have a point. You BOTH
know that this is completely inappropriate for this group.
Be careful about what you say. Are you referring to me when you say
"troll"? I'm not (at least no one's ever called me that before).
You're deliberately calling a "troll" someone who isn't one and for no
reason. That makes *you* a troll.
<snip>
Flash will no doubt answer for himself, but I don't believe he was
referring to you, and I'm at a loss to understand why you would assume
that he was.
Keith is correct.
Because I'm the one who posted the humorous list about "On-topic" and
"Off-topic" subjects, which may well be interpreted as someone
"bitching about topicality rules."
It was not because of you posting that list.

To be honest I can't remember enough posts by you to have formed *any*
opinion about you. I've no idea if this is because of my bad memory or
if you have not posted enough to this group for me to have formed an
opinion.
--
Flash Gordon
Aug 16 '08 #163
On Aug 15, 7:11*pm, Flash Gordon <sp**@flash-gordon.me.ukwro te:
s0****@gmail.co m wrote, On 16/08/08 00:59:
On Aug 15, 6:45 pm, Keith Thompson <ks***@mib.orgw rote:
s0****@gmail.co m writes:
On Aug 15, 3:06 pm, Flash Gordon <sp**@flash-gordon.me.ukwro te:
<snip>
You are BOTH just giving the trolls an excuse for more bitching about
topicality rules and hypocrisy and this time they have a point. You BOTH
know that this is completely inappropriate for this group.
Be careful about what you say. Are you referring to me when you say
"troll"? I'm not (at least no one's ever called me that before).
You're deliberately calling a "troll" someone who isn't one and for no
reason. That makes *you* a troll.
<snip>
Flash will no doubt answer for himself, but I don't believe he was
referring to you, and I'm at a loss to understand why you would assume
that he was.

Keith is correct.
Because I'm the one who posted the humorous list about "On-topic" and
"Off-topic" subjects, which may well be interpreted as someone
"bitching about topicality rules."

It was not because of you posting that list.

To be honest I can't remember enough posts by you to have formed *any*
opinion about you. I've no idea if this is because of my bad memory or
if you have not posted enough to this group for me to have formed an
opinion.
Then, sorry for the misunderstandin g :-/

Sebastian

Aug 16 '08 #164
Richard Heathfield <rj*@see.sig.in validwrites:
Default User said:
>Richard Heathfield wrote:
>>Default User said:

Please try not to use odd abbreviations that are not standard
English.

Such as?

Well, Usanians. Do you think that is a standard abreviation?

It's not an abbreviation.
....and later...

| United States of America -United States of American (for which "Usanian"
| is a convenient contraction).

<snip>

| Just remind me how many angels it was? :-)

There's another pin-full right there.

--
Ben.
Aug 16 '08 #165
Doug Miller said:
In article <Wu************ *************** ***@bt.com>, rj*@see.sig.inv alid
wrote:
>>Doug Miller said:
>>I'm guessing you don't know many (if any) Canadians ...

A few.

Not very well, evidently.
Begging the question.

--
Richard Heathfield <http://www.cpax.org.uk >
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Aug 16 '08 #166
Ben Bacarisse said:
Richard Heathfield <rj*@see.sig.in validwrites:
>Default User said:
>>Richard Heathfield wrote:
Default User said:

Please try not to use odd abbreviations that are not standard
English.

Such as?

Well, Usanians. Do you think that is a standard abreviation?

It's not an abbreviation.

...and later...

| United States of America -United States of American (for which
| "Usanian" is a convenient contraction).
No contradiction, according to my lights. When I was in school, I was
taught that to form an abbreviation you took the first letter of each
word, as in "BBC" for "British Broadcasting Corporation", "RAF" for "Royal
Air Force", "MCC" for "Marylebone Cricket Club", etc. (If they happened to
form a pronounceable word, then you had not only an abbreviation but also
an acronym.) But "contractio n" was a more general term that referred to a
more general shortening, not merely the taking of each first letter.

--
Richard Heathfield <http://www.cpax.org.uk >
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Aug 16 '08 #167
Flash Gordon wrote:
>
.... snip ...
>
Default User, stop arguing with Richard about the use of the term
"Usanian" on this group.

Richard, stop arguing with Default User about the term "Usanian"
on this group.
.... snip ...
>
It has taken both of you for this argument to run on, so by now in
my opinion you are both just as guilty of holding a long-running
off-topic argument and for *this* group it is completely irrelevant
which if you is right or wrong.
Applause.

--
[mail]: Chuck F (cbfalconer at maineline dot net)
[page]: <http://cbfalconer.home .att.net>
Try the download section.
Aug 16 '08 #168
Richard Heathfield wrote:
>
.... snip ...
>
No contradiction, according to my lights. When I was in school, I
was taught that to form an abbreviation you took the first letter
of each word, as in "BBC" for "British Broadcasting Corporation",
"RAF" for "Royal Air Force", "MCC" for "Marylebone Cricket Club",
etc. (If they happened to form a pronounceable word, then you had
not only an abbreviation but also an acronym.) But "contractio n"
was a more general term that referred to a more general shortening,
not merely the taking of each first letter.
I see none of this in any C99 standard.

--
[mail]: Chuck F (cbfalconer at maineline dot net)
[page]: <http://cbfalconer.home .att.net>
Try the download section.
Aug 16 '08 #169
CBFalconer said:
Richard Heathfield wrote:
>>
... snip ...
>>
No contradiction, according to my lights. When I was in school, I
was taught that to form an abbreviation you took the first letter
of each word, as in "BBC" for "British Broadcasting Corporation",
"RAF" for "Royal Air Force", "MCC" for "Marylebone Cricket Club",
etc. (If they happened to form a pronounceable word, then you had
not only an abbreviation but also an acronym.) But "contractio n"
was a more general term that referred to a more general shortening,
not merely the taking of each first letter.

I see none of this in any C99 standard.
If you'd looked a little closer, you'd have found that C99's usage of the
word "abbreviate d" (which has the same root as "abbreviati on") clearly
disagrees with the way I was taught at school. (See 7.23.3.5(3) for
details.) Thus, this discussion has uncovered a flaw in the Standard! So
it seems it may conceivably have been worthwhile after all. :-)

--
Richard Heathfield <http://www.cpax.org.uk >
Email: -http://www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
Aug 16 '08 #170

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

101
3461
by: Bill Cunningham | last post by:
I read an article in a book about Perl and Common Gateway Interface and it mentioned C. It said that C could damage your computer. I don't know wether it meant the standard or compiler issuses. I was a little upset. Well more upset. I sent Dennis Ritchie and email. I don't know if he'll respond if he gets it. Sometimes he does sometimes not. How can C damage your computer? Bill
1
2866
by: b83503104 | last post by:
When are they not consistent?
4
1311
by: cesark | last post by:
Hi ! I have important doubts about how to handle the security in asp.net vb.net web forms. Somebody can help me? 1. If you have setting ‘validateRequest=true’ in .net framework1.1, What can do you do to improve the security? Because although you have validations on server side you can enter dangerous characters in a text field, with the exception of telephone numbers or similar.
302
18843
by: Lee | last post by:
Hi Whenever I use the gets() function, the gnu c compiler gives a warning that it is dangerous to use gets(). Is this due to the possibility of array overflow? Is it correct that the program flow can be altered by giving some specific calculated inputs to gets()? How could anyone do so once the executable binary have been generated? I have heard many of the security problems and other bugs are due to array overflows.
6
7484
by: Brendan | last post by:
Hi, I'm trying to mimic the IPC/messaging system of an specific OS in a portable way by using GCC's library. The IPC system uses buffered asynchronous messages, where any thread can send a message to any other thread (i.e. to the "threadID") without blocking, and the receiver does any security checks necessary. I'm trying to implement the portable/linux version on top of sockets/datagrams ("SOCK_DGRAM" in the local namespace), and so...
10
9414
by: lovecreatesbea... | last post by:
C stops the conversion from (char **) to (const char **). c-faq.com sec 11.10 has explanation on this point. But, for example, even the conversion from (char *) to (const char *) brings the same dangerous as in the previous conversion. Why the latter simple but dangerous one is allowed in C? $ cat f1.c int main(void) { const char c = 'a';
6
3591
by: Thomas.li | last post by:
Hi, I want to convert CString to LPBYTE like LPBYTE lpByte = (BYTE*)(LPCTSTR)cstring; is it very dangerous to do that?
0
10557
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10358
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
11616
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
11148
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
8717
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
7883
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
6866
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
5431
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
3986
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.