Hi! The drizzle_query_str() function will properly initialize the result structure, so you don't need to do anything before you use it. You many not always need to drizzle_result_free() it depending on the return code, although that bit of code looks correct. I'll need to take a closer look under the debugger.
-Eric On Tue, Sep 22, 2009 at 11:51:36AM -0400, Diego Medina wrote: > Hi, > > Looking for a better fix for bug# 432210 > https://bugs.launchpad.net/drizzle/+bug/432210 > > I turned to valgrind for some answers. This is what it told me: > > ==28701== Use of uninitialised value of size 8 > ==28701== at 0x4C23A10: drizzle_column_free (column.c:357) > ==28701== by 0x4C228EC: drizzle_result_free (result.c:81) > ==28701== by 0x408C11: get_current_db() (drizzle.cc:2607) > ==28701== by 0x40BC75: com_use(std::string*, char const*) (drizzle.cc:3762) > ==28701== by 0x4078BF: add_line(std::string*, char*, char*, bool*) > (drizzle.cc:2152) > ==28701== by 0x406D29: read_and_execute(bool) (drizzle.cc:1915) > ==28701== by 0x405D4D: main (drizzle.cc:1324) > ==28701== Uninitialised value was created by a stack allocation > ==28701== at 0x408B59: get_current_db() (drizzle.cc:2591) > > > ......... > ==28701== at 0x408B59: get_current_db() (drizzle.cc:2591) > ........ > > line 2591 is : > > 2590 static void get_current_db(void) > 2591 { > 2592 drizzle_return_t ret; > 2593 drizzle_result_st res; > > free(current_db); > current_db= NULL; > /* In case of error below current_db will be NULL */ > if (drizzle_query_str(&con, &res, "SELECT DATABASE()", &ret) != NULL) > { > if (ret == DRIZZLE_RETURN_OK && > drizzle_result_buffer(&res) == DRIZZLE_RETURN_OK) > { > drizzle_row_t row= drizzle_row_next(&res); > if (row[0]) > current_db= strdup(row[0]); > } > drizzle_result_free(&res); > } > } > > > This is what I want to do, but 1) I don't know how, and 2) I'm not > even sure this is the way to fix it. > > * How do I initialize drizzle_result_st res ? > because drizzle_result_st res= NULL; does not work :) > > > Thanks > > Diego > > > > > > -- > Diego Medina > Web Developer > http://www.fmpwizard.com > > _______________________________________________ > Mailing list: https://launchpad.net/~drizzle-discuss > Post to : [email protected] > Unsubscribe : https://launchpad.net/~drizzle-discuss > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

