tests: fix callback signatures to please UndefinedBehaviorSanitizer
Make test applications use the correct prototypes for callbacks. Closes #15289
This commit is contained in:
parent
eed3c8f4b7
commit
8403e5a701
@ -180,7 +180,7 @@ UNITTEST DOHcode doh_req_encode(const char *host,
|
||||
}
|
||||
|
||||
static size_t
|
||||
doh_write_cb(const void *contents, size_t size, size_t nmemb, void *userp)
|
||||
doh_write_cb(char *contents, size_t size, size_t nmemb, void *userp)
|
||||
{
|
||||
size_t realsize = size * nmemb;
|
||||
struct dynbuf *mem = (struct dynbuf *)userp;
|
||||
|
||||
15
lib/easy.c
15
lib/easy.c
@ -398,9 +398,9 @@ struct events {
|
||||
* Callback that gets called with a new value when the timeout should be
|
||||
* updated.
|
||||
*/
|
||||
static int events_timer(struct Curl_multi *multi, /* multi handle */
|
||||
static int events_timer(CURLM *multi, /* multi handle */
|
||||
long timeout_ms, /* see above */
|
||||
void *userp) /* private callback pointer */
|
||||
void *userp) /* private callback pointer */
|
||||
{
|
||||
struct events *ev = userp;
|
||||
(void)multi;
|
||||
@ -449,7 +449,7 @@ static short socketcb2poll(int pollmask)
|
||||
* Callback that gets called with information about socket activity to
|
||||
* monitor.
|
||||
*/
|
||||
static int events_socket(struct Curl_easy *easy, /* easy handle */
|
||||
static int events_socket(CURL *easy, /* easy handle */
|
||||
curl_socket_t s, /* socket */
|
||||
int what, /* see above */
|
||||
void *userp, /* private callback
|
||||
@ -461,6 +461,7 @@ static int events_socket(struct Curl_easy *easy, /* easy handle */
|
||||
struct socketmonitor *m;
|
||||
struct socketmonitor *prev = NULL;
|
||||
bool found = FALSE;
|
||||
struct Curl_easy *data = easy;
|
||||
|
||||
#if defined(CURL_DISABLE_VERBOSE_STRINGS)
|
||||
(void) easy;
|
||||
@ -479,13 +480,13 @@ static int events_socket(struct Curl_easy *easy, /* easy handle */
|
||||
else
|
||||
ev->list = nxt;
|
||||
free(m);
|
||||
infof(easy, "socket cb: socket %" FMT_SOCKET_T " REMOVED", s);
|
||||
infof(data, "socket cb: socket %" FMT_SOCKET_T " REMOVED", s);
|
||||
}
|
||||
else {
|
||||
/* The socket 's' is already being monitored, update the activity
|
||||
mask. Convert from libcurl bitmask to the poll one. */
|
||||
m->socket.events = socketcb2poll(what);
|
||||
infof(easy, "socket cb: socket %" FMT_SOCKET_T
|
||||
infof(data, "socket cb: socket %" FMT_SOCKET_T
|
||||
" UPDATED as %s%s", s,
|
||||
(what&CURL_POLL_IN) ? "IN" : "",
|
||||
(what&CURL_POLL_OUT) ? "OUT" : "");
|
||||
@ -499,7 +500,7 @@ static int events_socket(struct Curl_easy *easy, /* easy handle */
|
||||
if(!found) {
|
||||
if(what == CURL_POLL_REMOVE) {
|
||||
/* should not happen if our logic is correct, but is no drama. */
|
||||
DEBUGF(infof(easy, "socket cb: asked to REMOVE socket %"
|
||||
DEBUGF(infof(data, "socket cb: asked to REMOVE socket %"
|
||||
FMT_SOCKET_T "but not present!", s));
|
||||
DEBUGASSERT(0);
|
||||
}
|
||||
@ -511,7 +512,7 @@ static int events_socket(struct Curl_easy *easy, /* easy handle */
|
||||
m->socket.events = socketcb2poll(what);
|
||||
m->socket.revents = 0;
|
||||
ev->list = m;
|
||||
infof(easy, "socket cb: socket %" FMT_SOCKET_T " ADDED as %s%s", s,
|
||||
infof(data, "socket cb: socket %" FMT_SOCKET_T " ADDED as %s%s", s,
|
||||
(what&CURL_POLL_IN) ? "IN" : "",
|
||||
(what&CURL_POLL_OUT) ? "OUT" : "");
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
#include "curl_setup.h"
|
||||
|
||||
#include "timeval.h"
|
||||
|
||||
struct Curl_easy;
|
||||
void Curl_speedinit(struct Curl_easy *data);
|
||||
CURLcode Curl_speedcheck(struct Curl_easy *data,
|
||||
struct curltime now);
|
||||
|
||||
@ -167,7 +167,7 @@ struct handle
|
||||
CURL *h;
|
||||
};
|
||||
|
||||
static size_t cb(void *data, size_t size, size_t nmemb, void *clientp)
|
||||
static size_t cb(char *data, size_t size, size_t nmemb, void *clientp)
|
||||
{
|
||||
size_t realsize = size * nmemb;
|
||||
struct handle *handle = (struct handle *) clientp;
|
||||
|
||||
@ -159,10 +159,10 @@ static size_t read_callback(char *ptr, size_t size, size_t nmemb,
|
||||
}
|
||||
|
||||
static int progress_callback(void *clientp,
|
||||
double dltotal,
|
||||
double dlnow,
|
||||
double ultotal,
|
||||
double ulnow)
|
||||
curl_off_t dltotal,
|
||||
curl_off_t dlnow,
|
||||
curl_off_t ultotal,
|
||||
curl_off_t ulnow)
|
||||
{
|
||||
(void)dltotal;
|
||||
(void)dlnow;
|
||||
|
||||
@ -35,7 +35,7 @@ struct transfer_status {
|
||||
int http_status;
|
||||
};
|
||||
|
||||
static size_t header_callback(void *ptr, size_t size, size_t nmemb,
|
||||
static size_t header_callback(char *ptr, size_t size, size_t nmemb,
|
||||
void *userp)
|
||||
{
|
||||
struct transfer_status *st = (struct transfer_status *)userp;
|
||||
@ -77,7 +77,7 @@ static size_t header_callback(void *ptr, size_t size, size_t nmemb,
|
||||
return len;
|
||||
}
|
||||
|
||||
static size_t write_callback(void *ptr, size_t size, size_t nmemb, void *userp)
|
||||
static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userp)
|
||||
{
|
||||
struct transfer_status *st = (struct transfer_status *)userp;
|
||||
size_t len = size * nmemb;
|
||||
|
||||
@ -27,8 +27,8 @@
|
||||
#include "warnless.h"
|
||||
#include "memdebug.h"
|
||||
|
||||
size_t WriteOutput(void *ptr, size_t size, size_t nmemb, void *stream);
|
||||
size_t WriteHeader(void *ptr, size_t size, size_t nmemb, void *stream);
|
||||
size_t WriteOutput(char *ptr, size_t size, size_t nmemb, void *stream);
|
||||
size_t WriteHeader(char *ptr, size_t size, size_t nmemb, void *stream);
|
||||
|
||||
static unsigned long realHeaderSize = 0;
|
||||
|
||||
@ -82,13 +82,13 @@ test_cleanup:
|
||||
return res;
|
||||
}
|
||||
|
||||
size_t WriteOutput(void *ptr, size_t size, size_t nmemb, void *stream)
|
||||
size_t WriteOutput(char *ptr, size_t size, size_t nmemb, void *stream)
|
||||
{
|
||||
fwrite(ptr, size, nmemb, stream);
|
||||
return nmemb * size;
|
||||
}
|
||||
|
||||
size_t WriteHeader(void *ptr, size_t size, size_t nmemb, void *stream)
|
||||
size_t WriteHeader(char *ptr, size_t size, size_t nmemb, void *stream)
|
||||
{
|
||||
(void)ptr;
|
||||
(void)stream;
|
||||
|
||||
@ -57,7 +57,7 @@ static int please_continue(void *userp,
|
||||
return 0; /* go on */
|
||||
}
|
||||
|
||||
static size_t header_callback(void *ptr, size_t size, size_t nmemb,
|
||||
static size_t header_callback(char *ptr, size_t size, size_t nmemb,
|
||||
void *userp)
|
||||
{
|
||||
size_t len = size * nmemb;
|
||||
@ -66,7 +66,7 @@ static size_t header_callback(void *ptr, size_t size, size_t nmemb,
|
||||
return len;
|
||||
}
|
||||
|
||||
static size_t write_callback(void *ptr, size_t size, size_t nmemb, void *userp)
|
||||
static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userp)
|
||||
{
|
||||
struct transfer_status *st = (struct transfer_status *)userp;
|
||||
size_t len = size * nmemb;
|
||||
|
||||
@ -77,7 +77,7 @@ static void check_time0(CURL *easy, int key, const char *name,
|
||||
report_time(name, where, tval, !tval);
|
||||
}
|
||||
|
||||
static size_t header_callback(void *ptr, size_t size, size_t nmemb,
|
||||
static size_t header_callback(char *ptr, size_t size, size_t nmemb,
|
||||
void *userp)
|
||||
{
|
||||
struct transfer_status *st = (struct transfer_status *)userp;
|
||||
@ -100,7 +100,7 @@ static size_t header_callback(void *ptr, size_t size, size_t nmemb,
|
||||
return len;
|
||||
}
|
||||
|
||||
static size_t write_callback(void *ptr, size_t size, size_t nmemb, void *userp)
|
||||
static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userp)
|
||||
{
|
||||
struct transfer_status *st = (struct transfer_status *)userp;
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ struct headerinfo {
|
||||
size_t largest;
|
||||
};
|
||||
|
||||
static size_t header(void *ptr, size_t size, size_t nmemb, void *stream)
|
||||
static size_t header(char *ptr, size_t size, size_t nmemb, void *stream)
|
||||
{
|
||||
size_t headersize = size * nmemb;
|
||||
struct headerinfo *info = (struct headerinfo *)stream;
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
#include <curl/curl.h>
|
||||
|
||||
static size_t cb_curl(void *buffer, size_t size, size_t nmemb, void *userp)
|
||||
static size_t cb_curl(char *buffer, size_t size, size_t nmemb, void *userp)
|
||||
{
|
||||
(void)buffer;
|
||||
(void)size;
|
||||
|
||||
@ -46,29 +46,30 @@ struct Ctx {
|
||||
struct curl_slist *contents;
|
||||
};
|
||||
|
||||
static size_t write_memory_callback(void *contents, size_t size,
|
||||
size_t nmemb, void *userp) {
|
||||
/* append the data to contents */
|
||||
size_t realsize = size * nmemb;
|
||||
struct Ctx *mem = (struct Ctx *)userp;
|
||||
char *data = (char *)malloc(realsize + 1);
|
||||
struct curl_slist *item_append = NULL;
|
||||
if(!data) {
|
||||
printf("not enough memory (malloc returned NULL)\n");
|
||||
return 0;
|
||||
}
|
||||
memcpy(data, contents, realsize);
|
||||
data[realsize] = '\0';
|
||||
item_append = curl_slist_append(mem->contents, data);
|
||||
free(data);
|
||||
if(item_append) {
|
||||
mem->contents = item_append;
|
||||
}
|
||||
else {
|
||||
printf("not enough memory (curl_slist_append returned NULL)\n");
|
||||
return 0;
|
||||
}
|
||||
return realsize;
|
||||
static size_t write_memory_callback(char *contents, size_t size,
|
||||
size_t nmemb, void *userp)
|
||||
{
|
||||
/* append the data to contents */
|
||||
size_t realsize = size * nmemb;
|
||||
struct Ctx *mem = (struct Ctx *)userp;
|
||||
char *data = (char *)malloc(realsize + 1);
|
||||
struct curl_slist *item_append = NULL;
|
||||
if(!data) {
|
||||
printf("not enough memory (malloc returned NULL)\n");
|
||||
return 0;
|
||||
}
|
||||
memcpy(data, contents, realsize);
|
||||
data[realsize] = '\0';
|
||||
item_append = curl_slist_append(mem->contents, data);
|
||||
free(data);
|
||||
if(item_append) {
|
||||
mem->contents = item_append;
|
||||
}
|
||||
else {
|
||||
printf("not enough memory (curl_slist_append returned NULL)\n");
|
||||
return 0;
|
||||
}
|
||||
return realsize;
|
||||
}
|
||||
|
||||
static
|
||||
|
||||
@ -141,7 +141,7 @@ static size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream)
|
||||
}
|
||||
|
||||
|
||||
static size_t write_callback(void *ptr, size_t size, size_t nmemb,
|
||||
static size_t write_callback(char *ptr, size_t size, size_t nmemb,
|
||||
void *stream)
|
||||
{
|
||||
int amount = curlx_uztosi(size * nmemb);
|
||||
|
||||
@ -52,7 +52,7 @@ static const char *RTP_DATA = "$_1234\n\0Rsdf";
|
||||
|
||||
static int rtp_packet_count = 0;
|
||||
|
||||
static size_t rtp_write(void *ptr, size_t size, size_t nmemb, void *stream)
|
||||
static size_t rtp_write(char *ptr, size_t size, size_t nmemb, void *stream)
|
||||
{
|
||||
char *data = (char *)ptr;
|
||||
int channel = RTP_PKT_CHANNEL(data);
|
||||
|
||||
@ -32,8 +32,9 @@ struct chunk_data {
|
||||
};
|
||||
|
||||
static
|
||||
long chunk_bgn(const struct curl_fileinfo *finfo, void *ptr, int remains)
|
||||
long chunk_bgn(const void *f, void *ptr, int remains)
|
||||
{
|
||||
const struct curl_fileinfo *finfo = f;
|
||||
struct chunk_data *ch_d = ptr;
|
||||
ch_d->remains = remains;
|
||||
|
||||
|
||||
@ -85,10 +85,8 @@ void libtest_debug_dump(const char *timebuf, const char *text, FILE *stream,
|
||||
}
|
||||
|
||||
int libtest_debug_cb(CURL *handle, curl_infotype type,
|
||||
unsigned char *data, size_t size,
|
||||
void *userp)
|
||||
char *data, size_t size, void *userp)
|
||||
{
|
||||
|
||||
struct libtest_trace_cfg *trace_cfg = userp;
|
||||
const char *text;
|
||||
struct timeval tv;
|
||||
@ -140,6 +138,7 @@ int libtest_debug_cb(CURL *handle, curl_infotype type,
|
||||
return 0;
|
||||
}
|
||||
|
||||
libtest_debug_dump(timebuf, text, stderr, data, size, trace_cfg->nohex);
|
||||
libtest_debug_dump(timebuf, text, stderr, (unsigned char *)data, size,
|
||||
trace_cfg->nohex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -32,7 +32,6 @@ struct libtest_trace_cfg {
|
||||
extern struct libtest_trace_cfg libtest_debug_config;
|
||||
|
||||
int libtest_debug_cb(CURL *handle, curl_infotype type,
|
||||
unsigned char *data, size_t size,
|
||||
void *userp);
|
||||
char *data, size_t size, void *userp);
|
||||
|
||||
#endif /* HEADER_LIBTEST_TESTTRACE_H */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user