delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2011/07/02/13:47:38

X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f
X-Recipient: djgpp-workers AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type:content-transfer-encoding;
bh=wGKy3DzNVK5hPzIriVLJwc6ggFHie4briDAIogekUZo=;
b=ZtKLprxTHeBIx5htboVIORjPm2nOO9lLoLmR4cqrV+Ty41EFRq1IwQLHF+/spDHBBX
g1p2HIo5zZKfTNYAP7oAFuTX9+D5ZaPWyGdyqqyLVv+VefN2PbDo5guCR8/VfgHWdyGh
SLxy9mBz4N1bdUlUgh/gMKrQfKAA/TPnveARM=
MIME-Version: 1.0
In-Reply-To: <BANLkTi=f2bhVUio9R4Sb60LHB0Wb5-79YQ@mail.gmail.com>
References: <BANLkTimnFhfjYM=HbSmv5v7KdCkKfVLrgQ AT mail DOT gmail DOT com>
<201107021926 DOT 48563 DOT juan DOT guerrero AT gmx DOT de>
<BANLkTi=f2bhVUio9R4Sb60LHB0Wb5-79YQ AT mail DOT gmail DOT com>
Date: Sat, 2 Jul 2011 20:47:28 +0300
Message-ID: <BANLkTin-Tt6vDw5wRu471NteTp-=4YVrUA@mail.gmail.com>
Subject: Re: [patch] kill gets() usage in stubedit.c, use fgets()
From: Ozkan Sezer <sezeroz AT gmail DOT com>
To: djgpp-workers AT delorie DOT com
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id p62HlZCX016256
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, Jul 2, 2011 at 8:40 PM, Ozkan Sezer <sezeroz AT gmail DOT com> wrote:
> On Sat, Jul 2, 2011 at 8:26 PM, Juan Manuel Guerrero
> <juan DOT guerrero AT gmx DOT de> wrote:
>> Am Samstag, 2. Juli 2011 schrieb Ozkan Sezer:
>>> Compilation of stubedit.c warns:
>>> /tmp/cc0xwkwD.o: In function `pose_question':
>>> /djgpp-20110630/src/stub/stubedit.c:92: warning: the `gets' function
>>> is dangerous and should not be used.
>> [snip]
>>
>> Are there more cases where gets is used?  If so they should be fixed all
>> together.
>>
>
> Quick scanning reveals:
>
> src/utils/djtar/djtar.c: line #208:  Missed this because I never use
> it, not needed in cross-tools
>


Here is a patch changing djtar.c in a similar way.

Index: djtar.c
===================================================================
RCS file: /cvs/djgpp/djgpp/src/utils/djtar/djtar.c,v
retrieving revision 1.12
diff -u -p -r1.12 djtar.c
--- djtar.c	26 Feb 2011 19:52:07 -0000	1.12
+++ djtar.c	2 Jul 2011 17:45:34 -0000
@@ -205,10 +205,19 @@ change(char *fname, const char *problem,
   fprintf(log_out, "  %s %s\n  new name : ", problem, fname);
   fflush(log_out);
   new[0] = '\0';
-  if (!gets(new))
+  pos = fgets(new, sizeof(new), stdin);
+  if (!pos)
     Fatal("EOF while reading stdin");
+  for (; *pos; ++pos)
+  {
+    if (*pos == '\n')
+    {
+      *pos = '\0';
+      break;
+    }
+  }

-  if ((strcmp(new, "") == 0) && (isadir == 2))
+  if ((new[0] == '\0') && (isadir == 2))
     return 0;
   if (isadir) isadir=1;
   ch = (CHANGE *)xmalloc(sizeof(CHANGE));


> src/libc/dos/dir/fnsplit.c::main() line #119 (but that's only  TEST code,
> not compiled into lib.)
>
>> Regards,
>> Juan M. guerrero
>>
>
> --
> O.S.
>

Regards.

--
O.S.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019