Sponsored Content
Full Discussion: Segmentation Fault by memcpy
Top Forums Programming Segmentation Fault by memcpy Post 302425751 by Zykl0n-B on Saturday 29th of May 2010 05:17:14 PM
Old 05-29-2010
Segmentation Fault by memcpy

Hello everybody,
I'm coding a test program for ARP protocol, and i don't know why i'm getting a SIGSEGV, i traced it with gdb and it says it's due to the memcpy function from /lib/libc.so.6.
Code:
Program received signal SIGSEGV, Segmentation fault.
0xb7e9e327 in memcpy () from /lib/libc.so.6

This segmentation fault came when i decided to change the protocol headers, i was using a buffer to store two structures, containing ethernet & arp headers, and i decided to use just one structure, containing both headers structure.

This is the code:
Code:
struct ethernet{
unsigned char target[6];
unsigned char source[6];
unsigned short type;
};

struct arp{
unsigned short ar$hrd;
unsigned short ar$pro;
unsigned char  ar$hln;
unsigned char  ar$pln;
unsigned short ar$op;
unsigned char  ar$sha[6];
unsigned char  ar$spa[4];
unsigned char  ar$tha[6];
unsigned char  ar$tpa[4];
};

struct arpmsg{
struct ethernet ethernet;
struct arp arp;
};

And i get the segmentation fault in the main program when i use memcpy to store the addresses in their respective field, here's an example:

Code:
char mac[]={0x01,0x00,0x5E,0x03,0x03,0x08};
memcpy(arpmsg->arp.ar$sha, mac, 6);

Please, could anyone tell me what am i doing wrong? This is a weird error, gcc gives me no warnings.

Oh!, i changed the memcpy function to strncpy, strcpy, and i keep getting the same SIGSEGV.

I'll appreciate any answers, thank you.
Zykl0n-B
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Segmentation Fault

hello all, I tried a program on an array to intialise array elements from the standard input device.it is an integer array of 5 elements.but after entering the 4th element it throws a message called "Segmentation Fault" and returns to the command prompt without asking for the 5th element. ... (3 Replies)
Discussion started by: compbug
3 Replies

2. AIX

Segmentation fault

Hi , During execution a backup binary i get following error "Program error 11 (Segmentation fault), saving core file in '/usr/datatools" Riyaz (2 Replies)
Discussion started by: rshaikh
2 Replies

3. UNIX for Dummies Questions & Answers

Segmentation Fault

Hi, While comparing primary key data of two tables thr bteq script I am getting this Error. This script is a shell script. *** Error: The following error was encountered on the output file. Script.sh: 3043492 Segmentation fault(coredump) Please let me know how to get through it. ... (5 Replies)
Discussion started by: monika
5 Replies

4. Programming

Segmentation fault in C

i have this code int already_there(char *client_names, char *username) { int i; for(i = 0; i<NUM; i++) { printf("HERE\n"); if (strcmp(client_names, username)==0) return(1); } return(0); } and i get a segmentation fault, whats wrong here? (7 Replies)
Discussion started by: omega666
7 Replies

5. UNIX for Advanced & Expert Users

segmentation fault with ps

What does this mean and why is this happening? $ ps -ef | grep ocular Segmentation fault (core dumped) $ ps -ef | grep ocular Segmentation fault (core dumped) $ ps aux | grep ocular Segmentation fault (core dumped) $ ps Segmentation fault (core dumped) $ pkill okular $ ps... (1 Reply)
Discussion started by: cokedude
1 Replies

6. Programming

Using gdb, ignore beginning segmentation fault until reproduce environment segmentation fault

I use a binary name (ie polo) it gets some parameter , so for debugging normally i do this : i wrote script for watchdog my app (polo) and check every second if it's not running then start it , the problem is , if my app , remain in state of segmentation fault for a while (ie 15 ... (6 Replies)
Discussion started by: pooyair
6 Replies

7. Homework & Coursework Questions

Segmentation Fault

this is a network programming code to run a rock paper scissors in a client and server. I completed it and it was working without any error. After I added the findWinner function to the server code it starts giving me segmentation fault. -the segmentation fault is fixed Current problem -Also... (3 Replies)
Discussion started by: femchi
3 Replies

8. Solaris

Segmentation fault

Hi Guys, I just installed and booted a zone called testzone. When I logged in remotely and tried changing to root user I get this error: "Segmentation fault" Can someone please help me resolve this? Thanks alot (2 Replies)
Discussion started by: cjashu
2 Replies

9. Programming

Segmentation fault

I keep getting this fault on a lot of the codes I write, I'm not exactly sure why so I'd really appreciate it if someone could explain the idea to me. For example this code #include <stdio.h> main() { unsigned long a=0; unsigned long b=0; int z; { printf("Enter two... (2 Replies)
Discussion started by: sizzler786
2 Replies

10. Programming

C. To segmentation fault or not to segmentation fault, that is the question.

Oddities with gcc, 2.95.3 for the AMIGA and 4.2.1 for MY current OSX 10.14.1... I am creating a basic calculator for the AMIGA ADE *NIX emulator in C as it does not have one. Below are two very condensed snippets of which I have added the results inside the each code section. IMPORTANT!... (11 Replies)
Discussion started by: wisecracker
11 Replies
hwloc_obj_attr_u::hwloc_pcidev_attr_s(3)		     Hardware Locality (hwloc)			  hwloc_obj_attr_u::hwloc_pcidev_attr_s(3)

NAME
hwloc_obj_attr_u::hwloc_pcidev_attr_s - SYNOPSIS
#include <hwloc.h> Data Fields unsigned short domain unsigned char bus unsigned char dev unsigned char func unsigned short class_id unsigned short vendor_id unsigned short device_id unsigned short subvendor_id unsigned short subdevice_id unsigned char revision float linkspeed Detailed Description PCI Device specific Object Attributes. Field Documentation unsigned char hwloc_obj_attr_u::hwloc_pcidev_attr_s::bus unsigned short hwloc_obj_attr_u::hwloc_pcidev_attr_s::class_id unsigned char hwloc_obj_attr_u::hwloc_pcidev_attr_s::dev unsigned short hwloc_obj_attr_u::hwloc_pcidev_attr_s::device_id unsigned short hwloc_obj_attr_u::hwloc_pcidev_attr_s::domain unsigned char hwloc_obj_attr_u::hwloc_pcidev_attr_s::func float hwloc_obj_attr_u::hwloc_pcidev_attr_s::linkspeed unsigned char hwloc_obj_attr_u::hwloc_pcidev_attr_s::revision unsigned short hwloc_obj_attr_u::hwloc_pcidev_attr_s::subdevice_id unsigned short hwloc_obj_attr_u::hwloc_pcidev_attr_s::subvendor_id unsigned short hwloc_obj_attr_u::hwloc_pcidev_attr_s::vendor_id Author Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code. Version 1.7 Sun Apr 7 2013 hwloc_obj_attr_u::hwloc_pcidev_attr_s(3)
All times are GMT -4. The time now is 04:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy