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.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Junyor’s picture

FileSize
2.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

FileSize
2.14 KB

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

Junyor’s picture

FileSize
2.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

FileSize
2.37 KB

I think this should do it. Patch for HEAD.

Junyor’s picture

FileSize
2.59 KB

Patch for 4.5.2.

Dries’s picture

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

Anonymous’s picture