Details
-
Bug
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
3.3.10, 3.4.4
-
None
-
None
-
fedora linux version 42. using downstream fedora packages
Description
I have received a bug concerning mariadb-connector-c:
https://bugzilla.redhat.com/show_bug.cgi?id=2361420
While trying to use the the MySQL Server configuration of digikam with mysql8.0.41 and mariadb-connector-c-3.4.4 or mariadb-connector-c-3.3.10 digikam receives a sigabort from the qt library it uses due to mariadb-connector-c returning NULL for MYSQL connection, this is caused by mthd_my_real connect in libmariadb/mariadb_lib.c failing and returning 0 after calling run_plugin_auth at 2027, which is located in plugins/auth/my_auth.c and calls auth_plugin->authenticate_user at 780, this translates to a call of auth_caching_sha2_client which is located in plugins/auth/caching_sha2_pw.c where the condition at 285 results in this function returning CR_ERROR. This condition calls the vio->write_packet function which translates to a call of client_mpvio_write_packet located in plugins/auth/my_auth.c. This function calls send_client_reply_packet at 620 from the same file. This calls ma_net_write at 522, which changes the net->buff to <incomplete sequence \320> which then leads to the subsequent call of ma_net_flush on the sqame line failing since net->buff and net->write_pos are not the same thus triggering the condition at 164 in libmariadb/ma_net.c where both the ma_net_* functions are located. The net->buff gets changed to the invalid value inside of ma_net_write during the call of ma_net_write_buff at 203. Inside the ma_net_write_buff function net->buff gets set to this value due to it being passed this value in buff at 203. buff gets set to this value on line 226 by the int3store function.
I have tried using the mysql-native-password plugin as the bug mentioned above reports and also not using it, the results were the same. As the bug mentions I am not using ssl either.