summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/kernel.pri
diff options
context:
space:
mode:
authorShane Kearns <ext-shane.2.kearns@nokia.com>2012-02-23 15:57:15 +0000
committerQt by Nokia <qt-info@nokia.com>2012-03-01 13:55:49 +0100
commit762a721f7f544f2428111f70f4d388f2d4134a55 (patch)
tree6497d2aa17f6cdd9bb9c565eda8f876233851ea6 /src/network/kernel/kernel.pri
parent4908cf2a556948599c40681208438e814ba7b83c (diff)
Fix buffer overrun crash running MSVC2010 win32 Qt on win64
When loading dnsapi.dll as a plugin, we experience crashes because the calling convention is not specified. The default is _cdecl, but __stdcall (via the WINAPI macro) should be used for windows APIs. Mismatched calling convention results in corruption of local variables, probably because the stack pointer is incorrect and SP offsets are used in optimised builds rather than frame pointer offsets. Since the library has been available since Windows 2000, I don't think that we need to load it dynamically. (Unlike the unix version where it isn't part of the LSB) Also checked that the current release of mingw works. Task-number: QTBUG-24227 Change-Id: I37c0a6aa0c133799c2a6dd9391ca1435ba2539ea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/network/kernel/kernel.pri')
-rw-r--r--src/network/kernel/kernel.pri1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/network/kernel/kernel.pri b/src/network/kernel/kernel.pri
index adc72bbcbb..a5508af31f 100644
--- a/src/network/kernel/kernel.pri
+++ b/src/network/kernel/kernel.pri
@@ -29,6 +29,7 @@ unix:SOURCES += kernel/qdnslookup_unix.cpp kernel/qhostinfo_unix.cpp kernel/qnet
win32: {
HEADERS += kernel/qnetworkinterface_win_p.h
SOURCES += kernel/qdnslookup_win.cpp kernel/qhostinfo_win.cpp kernel/qnetworkinterface_win.cpp
+ LIBS += -ldnsapi
}
integrity:SOURCES += kernel/qdnslookup_unix.cpp kernel/qhostinfo_unix.cpp kernel/qnetworkinterface_unix.cpp