From: Sasha Pachev Date: March 22 1999 6:15pm Subject: Re: Why the error here? List-Archive: http://lists.mysql.com/mysql/779 Message-Id: <36F688D2.48622C25@direct1.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Derick H Siddoway wrote: > > You're calling mysql_free_result() on a pointer that has never > been used or initialized. That is, why call mysql_free_result() > when you've never called mysql_store_result()? > > -- > derick This segfaults though before the program gets to any of the mysql calls. sscanf will fail with a segfault as it is trying to store a string at the address of something that was supposed to be a character, and will most likely address something outside of the allowed limits > > From: tom%bedell.net@Internet on 03/21/99 08:21 PM > To: mysql%lists.mysql.com@Internet > cc: (bcc: Derick H Siddoway/TC/TRS/American Express) > Subject: Why the error here? > > Hello, > > I am trying to use: > > mysql_create_db in a C program. It compiles and links OK. But when you > execute the program, I get the following error. > > #include "mysql.h" > #include "mysql.h" > #include > #include > > MYSQL mysql; > MYSQL_RES *res; > MYSQL_ROW row; > char *db = "db"; > > void exiterr(int exitcode) > { > fprintf( stderr, "%s\n", mysql_error(&mysql) ); exit( exitcode ); > } > > main() > { > char db; > printf("Enter a name for your new database\n\n"); scanf("%s", &db); > if (!(mysql_connect(&mysql,"localhost","root",""))) exiterr(1); > if (mysql_create_db(&mysql, &db)) > exiterr(2); > > mysql_free_result(res); > mysql_close(&mysql); > } > > When I run my code here is what I get: > [root@oscar mysql_c]# ./connect > Enter a name for your new database > > homes > Segmentation fault > BUT.... The database is added to mysql. I can connect to it, and view the > "empty set". Why the segmentation fault??? > Thank you in andvance. > > Tom Bedell > Tom@stripped > -- Sasha Pachev http://www.sashanet.com/ (home) http://www.direct1.com/ (work)