Parts of update_124 will fail if an anonymous commentor's name contains a single quote. To fix this, I updated update_sql to accept additional parameters that it sends on to db_query. I also moved update_sql to the top of the file. The only problem I could find with this approach is that the query displayed by update.php contains the substitute parameter (%s or %d), not the actual parameter.

I'd appreciate if someone else could take a look and see if there's a better way to do this. I think that update_sql should have this functionality anyway, though.

Comments

junyor’s picture

StatusFileSize
new2.06 KB

Here's the same patch for 4.5.2.

BTW, there was an $edit variable in update_sql that appeared to be unused, so I removed it in both of these patches.

junyor’s picture

StatusFileSize
new2.14 KB

Made the patch a bit better. Here's a new version for CVS.

junyor’s picture

StatusFileSize
new2.3 KB

That one was actually for 4.5.x. Here's the one for CVS.

Steven’s picture

This patch means that db arguments to update_sql() may not be passed as an array, but must be passed literally. Otherwise, an array with an array in it would be passed to db_query.

This is confusing and inconsistent with the other db_ functions, so I would say we need to change the patch so it also accepts either syntax, like the rest of the db functions.

junyor’s picture

StatusFileSize
new2.37 KB

I think this should do it. Patch for HEAD.

junyor’s picture

StatusFileSize
new2.59 KB

Patch for 4.5.2.

dries’s picture

Committed a modified patch to HEAD and DRUPAL-4-6. Thanks.

Anonymous’s picture