diff --git a/libmariadb/mariadb_lib.c b/libmariadb/mariadb_lib.c index 482d1911..67b9bcc0 100644 --- a/libmariadb/mariadb_lib.c +++ b/libmariadb/mariadb_lib.c @@ -3488,7 +3488,7 @@ mysql_get_optionv(MYSQL *mysql, enum mysql_option option, void *arg, ...) (uint)strlen((char *)key)))) { p+= strlen(key) + 1; - *((void **)data)= *((void **)p); + memcpy(data, p, sizeof(void *)); break; } if (data) diff --git a/plugins/auth/my_auth.c b/plugins/auth/my_auth.c index 215f3136..9a91262b 100644 --- a/plugins/auth/my_auth.c +++ b/plugins/auth/my_auth.c @@ -6,7 +6,7 @@ #include typedef struct st_mysql_client_plugin_AUTHENTICATION auth_plugin_t; -static int client_mpvio_write_packet(struct st_plugin_vio*, const uchar*, size_t); +static int client_mpvio_write_packet(struct st_plugin_vio*, const uchar*, int); static int native_password_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql); static int dummy_fallback_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql __attribute__((unused))); extern void read_user_name(char *name); @@ -16,7 +16,7 @@ extern unsigned char *mysql_net_store_length(unsigned char *packet, ulonglong le typedef struct { int (*read_packet)(struct st_plugin_vio *vio, uchar **buf); - int (*write_packet)(struct st_plugin_vio *vio, const uchar *pkt, size_t pkt_len); + int (*write_packet)(struct st_plugin_vio *vio, const uchar *pkt, int pkt_len); void (*info)(struct st_plugin_vio *vio, struct st_plugin_vio_info *info); /* -= end of MYSQL_PLUGIN_VIO =- */ MYSQL *mysql; @@ -465,7 +465,7 @@ static int client_mpvio_read_packet(struct st_plugin_vio *mpv, uchar **buf) */ static int client_mpvio_write_packet(struct st_plugin_vio *mpv, - const uchar *pkt, size_t pkt_len) + const uchar *pkt, int pkt_len) { int res; MCPVIO_EXT *mpvio= (MCPVIO_EXT*)mpv; @@ -473,9 +473,9 @@ static int client_mpvio_write_packet(struct st_plugin_vio *mpv, if (mpvio->packets_written == 0) { if (mpvio->mysql_change_user) - res= send_change_user_packet(mpvio, pkt, (int)pkt_len); + res= send_change_user_packet(mpvio, pkt, pkt_len); else - res= send_client_reply_packet(mpvio, pkt, (int)pkt_len); + res= send_client_reply_packet(mpvio, pkt, pkt_len); } else {