From: leonidk Date: Tue, 2 Jun 2009 17:51:04 +0000 (+0000) Subject: [mthca] Fix a build break. [mlnx: 4411] X-Git-Url: http://git.etherboot.org/mirror/winof/.git/commitdiff_plain/26985ed39da7b0f32984c36620800649f50fdee5 [mthca] Fix a build break. [mlnx: 4411] git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2230 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/hw/mthca/kernel/SOURCES b/hw/mthca/kernel/SOURCES index f653d228..269da791 100644 --- a/hw/mthca/kernel/SOURCES +++ b/hw/mthca/kernel/SOURCES @@ -73,6 +73,7 @@ INCLUDES=\ C_DEFINES=$(C_DEFINES) -DDRIVER -DDEPRECATE_DDK_FUNCTIONS -D__LITTLE_ENDIAN TARGETLIBS= \ + $(DDK_LIB_PATH)\ntstrsafe.lib \ $(TARGETPATH)\*\complib.lib \ $(DDK_LIB_PATH)\wdmguid.lib diff --git a/hw/mthca/kernel/hca_debug.h b/hw/mthca/kernel/hca_debug.h index 924b36db..62a016cd 100644 --- a/hw/mthca/kernel/hca_debug.h +++ b/hw/mthca/kernel/hca_debug.h @@ -33,6 +33,7 @@ #ifndef _HCA_DEBUG_H_ #define _HCA_DEBUG_H_ +#include extern uint32_t g_mthca_dbg_level; extern uint32_t g_mthca_dbg_flags; @@ -42,10 +43,18 @@ extern UCHAR g_slog_buf[ MAX_LOG_BUF_LEN ]; static void _build_str( const char * format, ... ) { + NTSTATUS status; va_list p_arg; va_start(p_arg, format); - vsprintf((char *)g_slog_buf , format , p_arg); - swprintf(g_wlog_buf, L"%S", g_slog_buf); + status = RtlStringCbVPrintfA((char *)g_slog_buf, sizeof(g_slog_buf), format , p_arg); + if (status) + goto end; + + status = RtlStringCchPrintfW(g_wlog_buf, sizeof(g_wlog_buf)/sizeof(g_wlog_buf[0]), L"%S", g_slog_buf); + if (status) + goto end; + +end: va_end(p_arg); } diff --git a/hw/mthca/kernel/mt_device.c b/hw/mthca/kernel/mt_device.c index 52745695..883c9868 100644 --- a/hw/mthca/kernel/mt_device.c +++ b/hw/mthca/kernel/mt_device.c @@ -140,16 +140,18 @@ static int alloc_name(char *name) continue; if (i < 0 || i >= PAGE_SIZE * 8) continue; - snprintf(buf, sizeof(buf)-1, name, i); - buf[sizeof(buf)-1] = '\0'; + if (RtlStringCbPrintfA(buf, sizeof buf, name, i)) + return -EINVAL; + if (!strncmp(buf, device->name, IB_DEVICE_NAME_MAX)) set_bit(i, inuse); } i = find_first_zero_bit((const unsigned long *)inuse, PAGE_SIZE * 8); free_page(inuse); - snprintf(buf, sizeof(buf)-1, name, i); - buf[sizeof(buf)-1] = '\0'; + if (RtlStringCbPrintfA(buf, sizeof buf, name, i)) + return -EINVAL; + if (__ib_device_get_by_name(buf)) return -ENFILE;