🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Segmentation fault (core dumped) al crear Socket

#10345
From: Rufus
Date: Sat, 09 Mar 2002 14:28
87 lines
3855 bytes
el cintura partida wrote:

> Hola a todos, tengo problemas a la hora de generar socket en mi
> m�quina Linux, he intentado crear socket de entorno TCP y UNIX pero
> siempre aparece el mensaje:
> 
> Segmentation fault (core dumped)
> 
> Los c�digos fuente han sido sacados de libros de texto y/e Internet
> pero no conseguido crearlo porque el dichoso Segmentation fault (core
> dumped) siempre me aparece.
> 
> Haciedo un debug de la memoria con la herramienta Electric Fence
> obtengo:
> 
> [root@localhost /root]# gcc helper.c crear_socket.c -o crear_socket
> -lefence
> crear_socket.c: In function `main':
> crear_socket.c:27: warning: passing arg 2 of `strncpy' makes pointer
> from integer without a cast
> [root@localhost /root]# gdb -q crear_socket lpe-sample
> 
> (gdb) run lpe_sample
> Starting program: /root/crear_socket lpe_sample
> 
> Program received signal SIGSEGV, Segmentation fault.
> strncpy (s1=0xbffffc36 "", s2=0xfffffffd <Address 0xfffffffd out of
> bounds>, n=108) at ../sysdeps/generic/strncpy.c:41
> ../sysdeps/generic/strncpy.c:41: No such file or directory.
> (gdb) quit
> 
> El c�digo fuente es:
> #include <sys/socket.h>
> #include <sys/un.h>
> #include <sys/types.h>
> #include <stdlib.h>
> #include "helper.h"
> #include <stdio.h>
> 
> int main (int argc, char *argv)
> {
>  
> 
>  int descriptor_socket;
>  struct sockaddr_un struc_servidor,srv;       /* Estructura de socket en el
> servidor */
>  socklen_t tamano_direccion;
>  if (argc != 2) {
>   puts("MODO DE EMPLEO: crear_socket <nombre de socket>");
>   exit (EXIT_FAILURE);
>  }
> 
> /* Crear el Socket */
> if ((descriptor_socket = socket (PF_UNIX, SOCK_STREAM,0))< 0)
>  err_quit("socket"); /* Definida en helper.h e implementada en
> helper.c*/
> 
> /* Iniciar y establecer la estructura del servidor */
> memset(&struc_servidor, 0, sizeof(struc_servidor));
> struc_servidor.sun_family = AF_UNIX;
> strncpy (struc_servidor.sun_path, argv[1],

--------------------------------------------------------------------

Seguro qu aqui a argv[1] le llega algo????????



> sizeof(struc_servidor.sun_path));
> 
> /* Ligar socket a una direccion */
> if ((bind(descriptor_socket,(struct sockaddr *)&struc_servidor,
> SUN_LEN(&struc_servidor)))<0);
> 
> /* Aguardar por las conexiones que arriben */
> if ((listen(descriptor_socket, 5))<0)
>  err_quit("listen");
> printf("Socket disponible: %s\n", struc_servidor.sun_path);
> 
> /* Mantener un lazo infinito, aceptando todas las conexiones */
> while (accept (descriptor_socket, (struct sockaddr *)&srv, &
> tamano_direccion)>=0)
>  puts ("La nueva conexi�n ha sido habilitada");
>  exit (EXIT_SUCCESS);
> }
> 
> Muchas gracias a culquiera que me lea. Un saludo
Technical Details
Message-ID: <1_oi8.11061$St4.117365@telenews.teleline.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.174.75.178!news-fra1.dfn.de!fu-berlin.de!newsfeed.bcn.ttd.net!telenews.teleline.es!not-for-mail
References: <ffaaf19a.0203090611.f84f90a@posting.google.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,6012a616144366d
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-03-10 03:37:07 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.174.75.178!news-fra1.dfn.de!fu-berlin.de!newsfeed.bcn.ttd.net!telenews.teleline.es!not-for-mail
X-Trace-PostClient-IP: 217.125.115.23
From: Rufus <hiden@terra.es>
Subject: Re: Segmentation fault (core dumped) al crear Socket
Newsgroups: es.comp.os.linux.programacion
References: <ffaaf19a.0203090611.f84f90a@posting.google.com>
Lines: 88
User-Agent: KNode/0.6.1
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8Bit
Message-ID: <1_oi8.11061$St4.117365@telenews.teleline.es>
Date: Sat, 09 Mar 2002 14:28:13 GMT
NNTP-Posting-Host: 10.20.31.4
X-Complaints-To: usenet@teleline.es
X-Trace: telenews.teleline.es 1015684093 10.20.31.4 (Sat, 09 Mar 2002 15:28:13 MET)
NNTP-Posting-Date: Sat, 09 Mar 2002 15:28:13 MET
Organization: Terra Networks