🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16822

Re: Problemillas con los sockets

#16822
From: Ignacio Arenaza
Date: Sat, 18 Mar 2000 00:00
57 lines
2621 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

>>>>> "Paco" == Paco Orts <webmaster@mtgsystem.com> writes:

    Paco> aqu� si hago un telnet nunca me pasa del if.

    Paco> Gonzalo Paniagua Javier wrote:

    >> MAnda el trozo de c�digo donde rellenas 'cadena_recibida'...

No suelo decir aquello de "ya te lo habia dicho" pero ... ya te lo
habia dicho ;-)

La cadena que tu lees desde el socket no tiene el terminador ('\0') y
por tanto strcmp sigue recorriendo la memoria mas alla del limite del
buffer hasta que encuentra un '\0', y parece ser que antes de
encontrarlo se sale del espacio de direcciones dando un bonito
segmentation fault (seguro).

Basicamente te tienes que encargar de a�adir el '\0' al final de tu
cadena. Puedes emular a gets() y sustituir el '\n' por '\0' o puedes
a�adirlo directamente detras del '\n' (segun tus necesidades). Yo
personalmente optaria por la primera sulucion (emulacion de gets())

Vamos, que cambiaria la linea:

        if (buffer[0] == '\n') break;

por:

        if (buffer[0] == '\n'( {
                buffer[0] = '\0';
                break
        }        

Por lo demas, tengo que reconocer que usas un estilo "muy peculiar" de
programacion (eso de declarar un puntero para despues reservar _dos_
octetos con malloc y ademas usarlo como un array es cuando menos
curioso; con lo facil que habria sido declarar directamente un array
de dos char; en fin cada uno programa como quiere, �no? ;-)

Saludos. I�aki.

- -- 
  Get PGP/GPG Keys at http://personales.jet.es/inaki.arenaza/pgpkey.html
  A proud member of GULA - http://gula.jet.es/


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.0 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.4 and Gnu Privacy Guard

iD8DBQE402TNZXLnGT1HLgcRAuwCAJ9MF0rUIq+yMHAqVq+ERh+QEJb9IgCeMFjs
XZgYJ3UufutpQ6dTyQvB0qk=
=HfnV
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <87wvn01qge.fsf@eb2ebu.ampr.org>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <38CFDF82.BD9CA6A3@mtgsystem.com> <38D0A222.8EA901FF@NOSPAM.inicia.es> <38D111BE.7DA15CCE@mtgsystem.com> <8asrra$i5d$3@simancas.uva.es> <38D20C42.93C42E02@mtgsystem.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,58a23ab56d6ca5b2
X-Google-Attributes: gidf86c8,public
From: Ignacio Arenaza <inaki.arenaza@jet.es>
Subject: Re: Problemillas con los sockets
Date: 2000/03/18
Message-ID: <87wvn01qge.fsf@eb2ebu.ampr.org>
X-Deja-AN: 599640720
Content-Transfer-Encoding: 8bit
References: <38CFDF82.BD9CA6A3@mtgsystem.com> <38D0A222.8EA901FF@NOSPAM.inicia.es> <38D111BE.7DA15CCE@mtgsystem.com> <8asrra$i5d$3@simancas.uva.es> <38D20C42.93C42E02@mtgsystem.com>
Organization: Servidor NNTP de eb2ebu.ampr.org
Content-Type: text/plain; charset=iso-8859-1
User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.3
Mime-Version: 1.0
Newsgroups: es.comp.os.linux.programacion