strlen-avx2.S

Florian Weimer fweimer@redhat.com
Mon Jul 1 07:22:51 GMT 2024


* David Newall:

> REMMINA_PLUGIN_DEBUG("gp=%p returning %zu bytes of text in clipboard
> to requesting application", gp, strlen(clipboard->srv_data));
>
> REMMINA_PLUGIN_DEBUG is defined as:
>
> remmina_plugin_service->_remmina_debug(__func__, fmt, ##__VA_ARGS__)
>
> The core file shows SIGSEG at __strlen_avx2 () at
> ../sysdeps/x86_64/multiarch/strlen-avx2.S:74, called from
> remmina_rdp_cliprdr_request_data(), so the direct call of strlen
> (i.e. not called from _remmina_debug).
>
> Clipboard has a reasonable value as does srv_data, which is a generic
> pointer.  Cast to char*, gdb shows the first value as '\0', so
> strlen() should be 0.

> RDI is 0.  Is this expected?  Am I right that this is why I'm getting
> SIGSEG?

Given the quote you quoted, if clipboard->srv_data is not null, but %rdi
is zero in strlen, something must have overwritten clipboard->srv_data
because strlen and the debugger observe different values.  Is the
application multi-threaded?

Thanks,
Florian



More information about the Libc-help mailing list