From: Michael Gilbert Date: Wed, 6 Jul 2022 00:44:32 +0000 (+0100) Subject: fix uninitialized variable compiler warnings X-Git-Tag: archive/raspbian/7.0_repack-10+rpi1~3^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=45ffffe1aebd5df0f0f578b1966ce89680788471;p=wine.git fix uninitialized variable compiler warnings Gbp-Pq: Topic warnings Gbp-Pq: Name uninitialized-variables.patch --- diff --git a/dlls/comdlg32/filedlg.c b/dlls/comdlg32/filedlg.c index 0f74c85..63fe852 100644 --- a/dlls/comdlg32/filedlg.c +++ b/dlls/comdlg32/filedlg.c @@ -238,7 +238,7 @@ static BOOL get_config_key_dword(HKEY hkey, const WCHAR *name, DWORD *value) static BOOL get_config_key_string(HKEY hkey, const WCHAR *name, WCHAR **value) { - DWORD type, size; + DWORD type, size = 0; WCHAR *str; if (RegQueryValueExW(hkey, name, 0, &type, NULL, &size)) diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c index 48abb7e..322ab5a 100644 --- a/dlls/d3dx9_36/mesh.c +++ b/dlls/d3dx9_36/mesh.c @@ -5524,7 +5524,8 @@ static BOOL attempt_line_merge(struct outline *outline, BOOL to_curve, const struct cos_table *table) { - D3DXVECTOR2 curdir, lastdir; + D3DXVECTOR2 curdir = {0.0f, 0.0f}; + D3DXVECTOR2 lastdir = {0.0f, 0.0f}; struct point2d *prevpt, *pt; BOOL ret = FALSE; diff --git a/dlls/d3dx9_36/texture.c b/dlls/d3dx9_36/texture.c index 6af4458..b099f17 100644 --- a/dlls/d3dx9_36/texture.c +++ b/dlls/d3dx9_36/texture.c @@ -1269,7 +1269,7 @@ static inline void fill_texture(const struct pixel_format_desc *format, BYTE *po for (c = 0; c < 4; c++) { - float comp_value; + float comp_value = 0.f; DWORD i, v = 0, mask32 = format->bits[c] == 32 ? ~0U : ((1 << format->bits[c]) - 1); switch (c) diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index c94f869..61e9270 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -992,7 +992,9 @@ static DWORD gateway_and_prefix_addresses_alloc( IP_ADAPTER_ADDRESSES *aa, ULONG struct nsi_ipv6_forward_key *key6; IP_ADAPTER_GATEWAY_ADDRESS *gw, **gw_next; IP_ADAPTER_PREFIX *prefix, **prefix_next; - DWORD err, count, i, prefix_len, key_size = (family == AF_INET) ? sizeof(*key4) : sizeof(*key6); + DWORD err, count, i; + DWORD prefix_len = 0; + DWORD key_size = (family == AF_INET) ? sizeof(*key4) : sizeof(*key6); DWORD sockaddr_size = (family == AF_INET) ? sizeof(SOCKADDR_IN) : sizeof(SOCKADDR_IN6); SOCKADDR_INET sockaddr; NET_LUID *luid; @@ -1085,6 +1087,11 @@ static DWORD gateway_and_prefix_addresses_alloc( IP_ADAPTER_ADDRESSES *aa, ULONG err = ERROR_NOT_ENOUGH_MEMORY; goto err; } + if (prefix_len == 0) + { + err = ERROR_INVALID_DATA; + goto err; + } prefix->Length = sizeof(*prefix); prefix->Address.lpSockaddr = (SOCKADDR *)(prefix + 1); prefix->Address.iSockaddrLength = sockaddr_size; diff --git a/dlls/mciseq/mcimidi.c b/dlls/mciseq/mcimidi.c index 33f9fde..b703922 100644 --- a/dlls/mciseq/mcimidi.c +++ b/dlls/mciseq/mcimidi.c @@ -247,9 +247,9 @@ static DWORD MIDI_mciReadNextEvent(WINE_MCIMIDI* wmm, MCI_MIDITRACK* mmt) { BYTE b1, b2 = 0, b3; WORD hw = 0; - DWORD evtPulse; + DWORD evtPulse = 0; DWORD evtLength; - DWORD tmp; + DWORD tmp = 0; if (mmioSeek(wmm->hFile, mmt->dwIndex, SEEK_SET) != mmt->dwIndex) { WARN("Can't seek at %08X\n", mmt->dwIndex); diff --git a/dlls/mf/session.c b/dlls/mf/session.c index c8ec1b5..92a6808 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -525,7 +525,7 @@ static void session_clear_queued_topologies(struct media_session *session) static void session_set_topo_status(struct media_session *session, HRESULT status, MF_TOPOSTATUS topo_status) { - IMFMediaEvent *event; + IMFMediaEvent *event = NULL; PROPVARIANT param; if (topo_status == MF_TOPOSTATUS_INVALID) diff --git a/dlls/msi/automation.c b/dlls/msi/automation.c index 80d6b8a..9de330e 100644 --- a/dlls/msi/automation.c +++ b/dlls/msi/automation.c @@ -1818,7 +1818,7 @@ static HRESULT InstallerImpl_SummaryInformation(WORD wFlags, UINT ret; HRESULT hr; MSIHANDLE hsuminfo; - IDispatch *dispatch; + IDispatch *dispatch = NULL; VARIANTARG varg0, varg1; if (!(wFlags & DISPATCH_PROPERTYGET)) diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c index 73fadfc..fc3d729 100644 --- a/dlls/msvcrt/misc.c +++ b/dlls/msvcrt/misc.c @@ -269,7 +269,7 @@ static void small_sort(void *base, size_t nmemb, size_t size, int (CDECL *compar)(void *, const void *, const void *), void *context) { size_t e, i; - char *max, *p; + char *max, *p = NULL; for(e=nmemb; e>1; e--) { max = base; diff --git a/dlls/msxml3/xdr.c b/dlls/msxml3/xdr.c index 0ac9632..95723b8 100644 --- a/dlls/msxml3/xdr.c +++ b/dlls/msxml3/xdr.c @@ -596,6 +596,9 @@ static xmlNodePtr XDR_E_ElementType(xmlNodePtr xdr, xmlNodePtr parent) case ORDER_ONE: xsd_child = xmlNewChild(xsd_base, NULL, xs_all, NULL); break; + default: + xsd_child = NULL; + ERR("Unhandled order enum %d\n", (int)order); } FOREACH_CHILD(xdr, xdr_child) diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c index fe185d4..d149588 100644 --- a/dlls/ntdll/locale.c +++ b/dlls/ntdll/locale.c @@ -1808,7 +1808,7 @@ NTSTATUS WINAPI RtlIdnToUnicode( DWORD flags, const WCHAR *src, INT srclen, WCHA int i, buflen, start, end, out_label, out = 0; NTSTATUS status; UINT buffer[64]; - WCHAR ch; + WCHAR ch = '\0'; if (!src || srclen < -1) return STATUS_INVALID_PARAMETER; if (srclen == -1) srclen = wcslen( src ) + 1; diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c index c7e0674..7939716 100644 --- a/dlls/ntdll/unix/env.c +++ b/dlls/ntdll/unix/env.c @@ -2174,7 +2174,8 @@ static RTL_USER_PROCESS_PARAMETERS *build_initial_params( void **module ) static const WCHAR valueW[] = {'1',0}; static const WCHAR pathW[] = {'P','A','T','H'}; RTL_USER_PROCESS_PARAMETERS *params = NULL; - SIZE_T size, env_pos, env_size; + SIZE_T env_pos = 0; + SIZE_T size, env_size; WCHAR *dst, *image, *cmdline, *path, *bootstrap; WCHAR *env = get_initial_environment( &env_pos, &env_size ); WCHAR *curdir = get_initial_directory(); diff --git a/dlls/ole32/datacache.c b/dlls/ole32/datacache.c index a536f82..550a33a 100644 --- a/dlls/ole32/datacache.c +++ b/dlls/ole32/datacache.c @@ -2517,7 +2517,7 @@ static HRESULT WINAPI DataCache_EnumCache(IOleCache2 *iface, DataCacheEntry *cache_entry; int i = 0, count = 0; STATDATA *data; - HRESULT hr; + HRESULT hr = E_FAIL; TRACE( "(%p, %p)\n", This, enum_stat ); diff --git a/dlls/webservices/reader.c b/dlls/webservices/reader.c index 69c4f2a..9212552 100644 --- a/dlls/webservices/reader.c +++ b/dlls/webservices/reader.c @@ -2041,7 +2041,7 @@ static inline BOOL is_element_type( unsigned char type ) static HRESULT read_attributes_bin( struct reader *reader, WS_XML_ELEMENT_NODE *elem ) { - WS_XML_ATTRIBUTE *attr; + WS_XML_ATTRIBUTE *attr = NULL; unsigned char type; HRESULT hr; @@ -6424,7 +6424,7 @@ static HRESULT read_type_struct( struct reader *reader, WS_TYPE_MAPPING mapping, WS_HEAP *heap, void *ret, ULONG size, BOOL *found ) { ULONG i, offset; - HRESULT hr; + HRESULT hr = E_FAIL; char *buf; if (!desc) return E_INVALIDARG; diff --git a/dlls/win32u/dc.c b/dlls/win32u/dc.c index 3aae737..b48dc3c 100644 --- a/dlls/win32u/dc.c +++ b/dlls/win32u/dc.c @@ -941,6 +941,7 @@ BOOL WINAPI NtGdiGetAndSetDCDword( HDC hdc, UINT method, DWORD value, DWORD *pre default: WARN( "unknown method %u\n", method ); + prev = 0; ret = FALSE; break; } diff --git a/dlls/win32u/region.c b/dlls/win32u/region.c index 86554f2..1dccdbe 100644 --- a/dlls/win32u/region.c +++ b/dlls/win32u/region.c @@ -410,6 +410,7 @@ static BOOL init_region( WINEREGION *pReg, INT n ) { n = max( n, RGN_DEFAULT_RECTS ); + pReg->rects = NULL; if (n > RGN_DEFAULT_RECTS) { if (n > INT_MAX / sizeof(RECT)) return FALSE; diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 3a20b35..7238a47 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -2674,6 +2674,9 @@ static void check_fbo_compat(struct wined3d_caps_gl_ctx *ctx, struct wined3d_for case WINED3D_GL_RES_TYPE_COUNT: color = 0; break; + default: + color = 0; + ERR("Unhandled type enum %d\n", (int)type); } checkGLcall("Post-pixelshader blending check"); diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 36fb41a..01b0b66 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -2170,11 +2170,14 @@ void CDECL X11DRV_GetDC( HDC hdc, HWND hwnd, HWND top, const RECT *win_rect, } else { + Drawable top_window = X11DRV_get_whole_window( top ); + escape.drawable = top_window; + /* find the first ancestor that has a drawable */ for (parent = hwnd; parent && parent != top; parent = GetAncestor( parent, GA_PARENT )) if ((escape.drawable = X11DRV_get_whole_window( parent ))) break; - if (escape.drawable) + if (escape.drawable != top_window) { POINT pt = { 0, 0 }; MapWindowPoints( 0, parent, &pt, 1 ); @@ -2182,7 +2185,6 @@ void CDECL X11DRV_GetDC( HDC hdc, HWND hwnd, HWND top, const RECT *win_rect, OffsetRect( &escape.dc_rect, pt.x, pt.y ); if (flags & DCX_CLIPCHILDREN) escape.mode = ClipByChildren; } - else escape.drawable = X11DRV_get_whole_window( top ); } ExtEscape( hdc, X11DRV_ESCAPE, sizeof(escape), (LPSTR)&escape, 0, NULL ); diff --git a/include/winsock2.h b/include/winsock2.h index f1d43ac..00c62b4 100644 --- a/include/winsock2.h +++ b/include/winsock2.h @@ -597,9 +597,17 @@ typedef struct WS(timeval) # define FD_SETSIZE 64 # endif +# define FD_ZERO(set) { \ + unsigned int __i; \ + (((fd_set*)(set))->fd_count=0); \ + for (__i = 0; __i < FD_SETSIZE; __i++) \ + { \ + (((fd_set*)(set))->fd_array[__i] = SOCKET_ERROR); \ + } \ +} + # define FD_CLR(fd, set) __WS_FD_CLR((fd), (set), fd_set) # define FD_SET(fd, set) __WS_FD_SET((fd), (set), fd_set) -# define FD_ZERO(set) (((fd_set*)(set))->fd_count=0) # define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set*)(set)) #else diff --git a/tools/winebuild/import.c b/tools/winebuild/import.c index c876d51..f923c57 100644 --- a/tools/winebuild/import.c +++ b/tools/winebuild/import.c @@ -165,8 +165,11 @@ static int func_cmp( const void *func1, const void *func2 ) { const ORDDEF *odp1 = *(const ORDDEF * const *)func1; const ORDDEF *odp2 = *(const ORDDEF * const *)func2; - return strcmp( odp1->name ? odp1->name : odp1->export_name, - odp2->name ? odp2->name : odp2->export_name ); + const char *name1 = odp1->name ? odp1->name : odp1->export_name; + const char *name2 = odp2->name ? odp2->name : odp2->export_name; + if ( !name1 || !name2 ) + fatal_error("Unable to compare function names\n"); + return strcmp( name1, name2 ); } /* remove a name from a name table */ diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c index c5ea8bf..d0f5d9a 100644 --- a/tools/winedump/msc.c +++ b/tools/winedump/msc.c @@ -503,7 +503,7 @@ static void do_field(const unsigned char* start, const unsigned char* end) const unsigned char* ptr = start; const char* cstr; const struct p_string* pstr; - int leaf_len, value; + int leaf_len, value = 0; struct full_value full_value; while (ptr < end) @@ -811,7 +811,7 @@ static void do_field(const unsigned char* start, const unsigned char* end) static void codeview_dump_one_type(unsigned curr_type, const union codeview_type* type) { const union codeview_reftype* reftype = (const union codeview_reftype*)type; - int i, leaf_len, value; + int i, leaf_len, value = 0; unsigned int j; const char* str;