Fossil
Check-in [0cbc5d295c]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

SHA1 Hash:0cbc5d295c9911b00ed405d301a7b8e76db77b41
Date: 2010-03-10 17:18:42
User: drh
Comment:Make sure the return value of db_text() is always something obtained from malloc() or else NULL. Strdup() the default value if the default value is used.

Tags And Properties
Changes
[hide diffs]

Changes to src/db.c

@@ -502,16 +502,20 @@
 ** zDefault instead.
 */
 char *db_text(char *zDefault, const char *zSql, ...){
   va_list ap;
   Stmt s;
-  char *z = zDefault;
+  char *z;
   va_start(ap, zSql);
   db_vprepare(&s, zSql, ap);
   va_end(ap);
   if( db_step(&s)==SQLITE_ROW ){
     z = mprintf("%s", sqlite3_column_text(s.pStmt, 0));
+  }else if( zDefault ){
+    z = mprintf("%s", zDefault);
+  }else{
+    z = 0;
   }
   db_finalize(&s);
   return z;
 }