Sponsored Content
Top Forums Programming Pointer to a struct (with pointers) *** glibc detected *** double free Post 302263166 by jatoo on Monday 1st of December 2008 02:08:15 AM
Old 12-01-2008
Pointer to a struct (with pointers) *** glibc detected *** double free

I am using a structure defined as follows

Code:
struct gene_square
{
    double *x;
    double *y;
};

I have class, with a member function which is a pointer of this type:

Code:
gene_square* m_Genes;

I am allocating memory in the constructors like this:

Code:
m_Genes = new gene_square[square_genome_size];
    for (ii=0; ii<square_genome_size; ii++)
    {
        (m_Genes+ii)->x = new double[POINTS];
        (m_Genes+ii)->y = new double[POINTS];
    }

And my destructor does this:

Code:
if(m_Genes != NULL)
    {
        for(ii=0; ii<square_genome_size; ii++)
        {
            if (((m_Genes+ii)->x)!=NULL)
            {
                delete [] (m_Genes+ii)->x;
            }
            if (((m_Genes+ii)->y)!= NULL)
            {    
                delete [] (m_Genes+ii)->y;
            }
        }
        delete [] m_Genes;
    }

But when the destructor is called I am getting a glibc double free error.

Code:
*** glibc detected *** ./Evolution: double free or corruption (fasttop): 0x08055008 ***

And I can't work it out.

Anyone able to help?
 

10 More Discussions You Might Find Interesting

1. Programming

*** glibc detected *** free(): invalid next size (normal): 0x0000000000503e70 ***

hi, I have made a small C program that make use of malloc and free for processing bitmap images. when i try to run the program, I am getting a error something like *** glibc detected *** free(): invalid next size (normal): 0x0000000000503e70 *** I am not sure of which free() is causing this... (1 Reply)
Discussion started by: vbreddy
1 Replies

2. Programming

*** glibc detected *** double free or corruption: 0x40236ff4 ***

when i try to use the class i wrote, i either get this: *** glibc detected *** double free or corruption: 0x40236ff4 *** and the proccess exits with an error code of 0; or it segfaults. could someone look at my header file (with imp.) to give me some insight as to why its not working? ... (19 Replies)
Discussion started by: norsk hedensk
19 Replies

3. Homework & Coursework Questions

C++ struct pointers & functions

Hi All, My latest assignment (practice not coursework!) is to write prototype interactive exam/test console application. I've used structs to store the question information (not sure if this was the best way to do it?) and I have the following code that outputs each question and it's possible... (0 Replies)
Discussion started by: pondlife
0 Replies

4. Homework & Coursework Questions

Passing pointers to struct

Hi, i'm trying to copy a struct into a binary file using the unix instruction write, so i declare and fill the struct "superbloque" in one function "initSB" and then i pass the pointer to another function called bwrite (for block write) which calls write. The problem is that i call the function... (2 Replies)
Discussion started by: ignatius3
2 Replies

5. Programming

Using pointers to struct members as args to functions

In a well-known book on the C language, there is an example of an efficient method for using a struct member as an argument to a function. (I'm a C noob, but I believe the correct terminology might be: use call-by-reference instead of call-by-value.) The function is printf. Anyway, here's a... (5 Replies)
Discussion started by: uiop44
5 Replies

6. Programming

Pointer to pointers

Hi guys, I'm trying to understand pointers in C and made a simple example and I've problems with It. Can someone help? #include <stdio.h> #include <stdlib.h> #include <assert.h> int f1(char **str_); int main(int argc, char **argv) { char *str = NULL; f1(&str); ... (3 Replies)
Discussion started by: pharaoh
3 Replies

7. Programming

*** glibc detected *** : malloc(): memory corruption (fast)

Hi Friends, while executing the below code, am getting *** glibc detected *** ./ok: malloc(): memory corruption (fast) error, please suggest how to solve this issue. #include <stdio.h> #include <string.h> #include <sqlca.h> #include <alloca.h> /* Define constants for VARCHAR... (2 Replies)
Discussion started by: mpjobsrch
2 Replies

8. Programming

*** glibc detected *** ./a.out malloc() memory corruption

I am facing a problem of memory corruption. The loop runs for the first time but does not go through the second time. What could be the problem? for(int z=0;z<2;z++) { fp=fopen("poly.dat","r"); /*do something which reads this file into a 2D array*/ fclose(fp); ... (10 Replies)
Discussion started by: dare
10 Replies

9. Programming

C++ glibc detected double free or corruption(!prev) using shared library

Currently I test a shared library vendor provided in linux , the following is the simple source : #include <iostream> using namespace std; extern int test1(); extern int test2(); int main() { cout << "hello world" << endl ; return 0 ; cout << "Test 1" << endl; ... (6 Replies)
Discussion started by: barfatchen
6 Replies

10. Homework & Coursework Questions

FORTRAN error *** glibc detected ***

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I'm doing aproximation of derivative called five-point stencil. For every value of x, in interval , in step... (0 Replies)
Discussion started by: antonija
0 Replies
EXPINT(3)						User Contributed Perl Documentation						 EXPINT(3)

NAME
PDL::GSLSF::EXPINT - PDL interface to GSL Special Functions DESCRIPTION
This is an interface to the Special Function package present in the GNU Scientific Library. SYNOPSIS
Functions FUNCTIONS
gsl_sf_expint_E1 Signature: (double x(); double [o]y(); double [o]e()) E_1(x) := Re[ Integrate[ Exp[-xt]/t, {t,1,Infinity}] ] gsl_sf_expint_E2 Signature: (double x(); double [o]y(); double [o]e()) E_2(x) := Re[ Integrate[ Exp[-xt]/t^2, {t,1,Infity}] ] gsl_sf_expint_Ei Signature: (double x(); double [o]y(); double [o]e()) Ei(x) := PV Integrate[ Exp[-t]/t, {t,-x,Infinity}] gsl_sf_Shi Signature: (double x(); double [o]y(); double [o]e()) Shi(x) := Integrate[ Sinh[t]/t, {t,0,x}] gsl_sf_Chi Signature: (double x(); double [o]y(); double [o]e()) Chi(x) := Re[ M_EULER + log(x) + Integrate[(Cosh[t]-1)/t, {t,0,x}] ] gsl_sf_expint_3 Signature: (double x(); double [o]y(); double [o]e()) Ei_3(x) := Integral[ Exp[-t^3], {t,0,x}] gsl_sf_Si Signature: (double x(); double [o]y(); double [o]e()) Si(x) := Integrate[ Sin[t]/t, {t,0,x}] gsl_sf_Ci Signature: (double x(); double [o]y(); double [o]e()) Ci(x) := -Integrate[ Cos[t]/t, {t,x,Infinity}] gsl_sf_atanint Signature: (double x(); double [o]y(); double [o]e()) AtanInt(x) := Integral[ Arctan[t]/t, {t,0,x}] AUTHOR
This file copyright (C) 1999 Christian Pellegrin <chri@infis.univ.trieste.it> All rights reserved. There is no warranty. You are allowed to redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this file is separated from the PDL distribution, the copyright notice should be included in the file. The GSL SF modules were written by G. Jungman. perl v5.8.0 2003-01-29 EXPINT(3)
All times are GMT -4. The time now is 04:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy