Skip to content
This repository was archived by the owner on Nov 9, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions libftl/ftl_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@
#define strcpy_s(dst, dstsz, src) strcpy(dst, src)
#define _strdup(src) strdup(src)
#define sscanf_s sscanf
#define memcpy_s(dst, dstsz, src, cnt) memcpy(dst, src, cnt)
#define vsnprintf_s(buf, bufsz, cnt, fmt, ...) vsnprintf(buf, cnt, fmt, __VA_ARGS__)
#endif

typedef enum {
Expand Down
6 changes: 5 additions & 1 deletion libftl/handshake.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,11 @@ ftl_status_t _init_control_connection(ftl_stream_configuration_private_t *ftl) {
return retval;
}

// Suppressing getaddrinfo warning here, Windows prefers GetAddrInfoW,etc. but this doesn't exist on Linux
#pragma warning(push)
#pragma warning(disable:38026)
err = getaddrinfo(ftl->ingest_hostname, ingest_port_str, &hints, &resolved_names);
#pragma warning(pop)
if (err != 0) {
FTL_LOG(ftl, FTL_LOG_ERROR, "getaddrinfo failed to look up ingest address %s.", ftl->ingest_hostname);
FTL_LOG(ftl, FTL_LOG_ERROR, "gai error was: %s", gai_strerror(err));
Expand Down Expand Up @@ -366,7 +370,7 @@ static ftl_response_code_t _ftl_send_command(ftl_stream_configuration_private_t

memset(buf, 0, buflen);

len = vsnprintf(buf, buflen, format, valist);
len = vsnprintf_s(buf, buflen, MAX_INGEST_COMMAND_LEN, format, valist);

va_end(valist);

Expand Down
5 changes: 5 additions & 0 deletions libftl/ingest.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ static int _ping_server(const char *hostname, int port) {

snprintf(port_str, 10, "%d", port);

// Suppressing getaddrinfo warning here, Windows prefers GetAddrInfoW,etc. but this doesn't exist on Linux
#pragma warning(push)
#pragma warning(disable:38026)
err = getaddrinfo(hostname, port_str, &hints, &resolved_names);
#pragma warning(pop)

if (err != 0) {
return FTL_DNS_FAILURE;
}
Expand Down
3 changes: 2 additions & 1 deletion libftl/logging.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
* SOFTWARE.
**/

#include <stdlib.h>
#include "ftl.h"
#include "ftl_private.h"

Expand All @@ -32,7 +33,7 @@ void ftl_log_msg(ftl_stream_configuration_private_t *ftl, ftl_log_severity_t log

m.msg.log.log_level = log_level;
va_start(args, fmt);
vsnprintf(m.msg.log.string, sizeof(m.msg.log.string), fmt, args);
vsnprintf_s(m.msg.log.string, sizeof(m.msg.log.string), _TRUNCATE, fmt, args);
va_end(args);

enqueue_status_msg(ftl, &m);
Expand Down
2 changes: 1 addition & 1 deletion libftl/media.c
Original file line number Diff line number Diff line change
Expand Up @@ -842,7 +842,7 @@ static int _media_send_slot(ftl_stream_configuration_private_t *ftl, nack_slot_t
int pkt_len;

os_lock_mutex(&ftl->media.mutex);
memcpy(pkt, slot->packet, slot->len);
memcpy_s(pkt, sizeof(pkt) * MAX_PACKET_BUFFER, slot->packet, slot->len);
pkt_len = slot->len;
os_unlock_mutex(&ftl->media.mutex);

Expand Down