Commit 1d10c9af authored by Sergei Petrunia's avatar Sergei Petrunia

Post-fix to "Adopt Debian's fix-FTBFS-on-GNU-Hurd.patch", part #2.

"my_snprintf(NULL, 0, ...)" does not follow what snprintf does. Change
the call in wsrep_dump_rbr_buf_with_header to use snprintf (note that
wsrep_dump_rbr_buf was using snprintf all the way).

Fix an off-by-one error in comparison so it actually prints the output
parent 36ea8261
...@@ -327,11 +327,11 @@ void wsrep_dump_rbr_buf(THD *thd, const void* rbr_buf, size_t buf_len) ...@@ -327,11 +327,11 @@ void wsrep_dump_rbr_buf(THD *thd, const void* rbr_buf, size_t buf_len)
return; return;
} }
char *filename= (char *)malloc(len++); char *filename= (char *)malloc(len+1);
int len1= snprintf(filename, len, "%s/GRA_%ld_%lld.log", int len1= snprintf(filename, len, "%s/GRA_%ld_%lld.log",
wsrep_data_home_dir, thd->thread_id, wsrep_data_home_dir, thd->thread_id,
(long long)wsrep_thd_trx_seqno(thd)); (long long)wsrep_thd_trx_seqno(thd));
if (len >= len1) if (len > len1)
{ {
WSREP_ERROR("RBR dump path truncated: %d, skipping dump.", len); WSREP_ERROR("RBR dump path truncated: %d, skipping dump.", len);
free(filename); free(filename);
...@@ -466,22 +466,22 @@ void wsrep_dump_rbr_buf_with_header(THD *thd, const void *rbr_buf, ...@@ -466,22 +466,22 @@ void wsrep_dump_rbr_buf_with_header(THD *thd, const void *rbr_buf,
longlong thd_trx_seqno= (long long)wsrep_thd_trx_seqno(thd); longlong thd_trx_seqno= (long long)wsrep_thd_trx_seqno(thd);
int len= my_snprintf(NULL, 0, "%s/GRA_%ld_%lld_v2.log", int len= snprintf(NULL, 0, "%s/GRA_%ld_%lld_v2.log",
wsrep_data_home_dir, thd->thread_id, wsrep_data_home_dir, thd->thread_id,
thd_trx_seqno); thd_trx_seqno);
char *filename; char *filename;
if (len < 0 || !(filename= (char*)malloc(len++))) if (len < 0 || !(filename= (char*)malloc(len+1)))
{ {
WSREP_ERROR("snprintf error: %d, skipping dump.", len); WSREP_ERROR("snprintf error: %d, skipping dump.", len);
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
int len1= my_snprintf(filename, len, "%s/GRA_%ld_%lld_v2.log", int len1= snprintf(filename, len, "%s/GRA_%ld_%lld_v2.log",
wsrep_data_home_dir, thd->thread_id, wsrep_data_home_dir, thd->thread_id,
thd_trx_seqno); thd_trx_seqno);
if (len >= len1) if (len > len1)
{ {
WSREP_ERROR("RBR dump path truncated: %d, skipping dump.", len); WSREP_ERROR("RBR dump path truncated: %d, skipping dump.", len);
free(filename); free(filename);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment