# # # patch "database.cc" # from [c6b4ce53b8ffc8a92dcdaab4261607262c696ea3] # to [428d1e533e23dcc021dd4f6dbdca8c61ca67bfe9] # ============================================================ --- database.cc c6b4ce53b8ffc8a92dcdaab4261607262c696ea3 +++ database.cc 428d1e533e23dcc021dd4f6dbdca8c61ca67bfe9 @@ -1960,9 +1960,12 @@ string query = "SELECT id, name, value, keypair, signature FROM " + table + " WHERE name = ? AND value = ?"; - - fetch(res, 5, any_rows, query.c_str(), - name().c_str(), val().c_str()); + std::vector args; + args.push_back(name()); + cert_value binvalue; + decode_base64(val, binvalue); + args.push_back(queryarg(binvalue(),true)); + fetch(res, 5, any_rows, query, args); results_to_certs(res, certs); } @@ -2597,10 +2600,7 @@ fetch(res, one_col, any_rows, query.c_str(), cert_name.c_str()); for (size_t i = 0; i < res.size(); ++i) { - base64 row_encoded(res[i][0]); - data name; - decode_base64(row_encoded, name); - names.push_back(name()); + names.push_back(res[i][0]); } }