Re: OT: Problems with strings



måndagen den 9 maj 2005 21.12 skrev Jean Bréfort:
> Le lundi 09 mai 2005 à 21:04 +0200, Magnus Wirström a écrit :
> > Hi.
> >
> > I'm a newbie so please don't fry me :)
> > I have a strange problem (at least i think it's strange ;) ). In my app i
> > set up a gchar like this
> >
> > 	gchar *post;
> >
> > 	entry_widget = lookup_widget(GTK_WIDGET(button), "text_bolag");
> > 	buffer = gtk_entry_get_text(GTK_ENTRY(entry_widget));
> > 	strcpy(post,buffer);
> > 	memset(buffer,0,100);
> >
> > When i run it I get segmentation fault and the debugger tell me this
> > error. post		(gchar *)0x12 <Address 0x12 out of bounds>
> >
> > What could generate a such runtime error ? I have no idea why i get this
> > and it have been working before. I'm thankful for any suggestion.
>
> You are using an uninitialized pointer. You should use something as:
> post = g_new (char, some_size);
> before calling strcpy. BUT DON'T USE strcpy AT ALL, use strncpy to avoif
> buffer overflow problems.

Thank you, that worked good ... should i do this with all my string to make my 
program safe ? or just gchar * ? Is it a good rule to always use g_new to set 
up my strings ?
And of course not forget to g_free() too.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]