SegFault em struct alocada com malloc

1. SegFault em struct alocada com malloc

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 03/10/2011 - 20:10h

Olá pessoal!

Estou tendo um problema meio estranho no meu código.

Estou fazendo um programa em C++, e tenho a seguinte estrutura:

struct CfgRecord{
unsigned int p;

string dir1;
string dir2;
string dir3;
};


No construtor da minha classe, tenho o seguinte trecho:

struct CfgRecord* cfg = (struct CfgRecord*)malloc( sizeof(struct CfgRecord) );

if( !cfg )
perror( "Cfg Record:" );

// Inicializacao da struct
cfg->p = 123;
cfg->dir1 = "bla";
cfg->dir2 = "bla";
cfg->dir3 = "bla";


Quando executo meu código, ocorre uma falha de segmentacao.

Debuguei o codigo e o cfg não está como nulo (dei um printf com %p).
Seguindo o debug, constatei que a atribuicao dos valores das variaveis "p" e "dir1" ocorrem sem problema. O SegFault ocorre na hora de inicializar a variavel "dir2".

Alguem saberia me dizer o porque?

Grato pela atenção de todos!


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts