Replacing various stray error codes and/or calling `ssh2_err()` with the NULL `session`, resulting in a NULL pointer dereference. Also: - return it from `libssh2_trace()` and `libssh2_trace_sethandler()`. Ref: #2282 Closes #2283
1.5 KiB
c, SPDX-License-Identifier, Title, Section, Source, See-also
| c | SPDX-License-Identifier | Title | Section | Source | See-also |
|---|---|---|---|---|---|
| Copyright (C) The libssh2 project and its contributors. | BSD-3-Clause | libssh2_trace_sethandler | 3 | libssh2 |
NAME
libssh2_trace_sethandler - set a trace output handler
SYNOPSIS
#include <libssh2.h>
typedef void (*libssh2_trace_handler_func)(LIBSSH2_SESSION *session,
void *context,
const char *data,
size_t length);
int libssh2_trace_sethandler(LIBSSH2_SESSION *session,
void *context,
libssh2_trace_handler_func callback);
DESCRIPTION
libssh2_trace_sethandler installs a trace output handler for your application. By default, when tracing has been switched on via a call to libssh2_trace(), all output is written to stderr. By calling this method and passing a function pointer that matches the libssh2_trace_handler_func prototype, libssh2 calls back as it generates trace output. This can be used to capture the trace output and put it into a log file or diagnostic window. This function has no effect unless libssh2 was built to support this option, and a typical "release build" might not.
context can be used to pass arbitrary user defined data back into the callback when invoked.
RETURN VALUE
0 on success, LIBSSH2_ERROR_BAD_USE if the session is invalid.
AVAILABILITY
Added in libssh2 version 1.2.3