Module: wine Branch: master Commit: 035315c45c49053cfefbbe0856966af5aee63ce9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=035315c45c49053cfefbbe0856... Author: Hans Leidekker <hans(a)codeweavers.com> Date: Tue Dec 18 11:20:53 2012 +0100 wbemprox: Avoid a crash in get_propval when the query returned no results. --- dlls/wbemprox/query.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/wbemprox/query.c b/dlls/wbemprox/query.c index 3fdee00..1123159 100644 --- a/dlls/wbemprox/query.c +++ b/dlls/wbemprox/query.c @@ -644,22 +644,22 @@ HRESULT get_propval( const struct view *view, UINT index, const WCHAR *name, VAR CIMTYPE *type, LONG *flavor ) { HRESULT hr; - UINT column, row = view->result[index]; + UINT column, row; VARTYPE vartype; void *val_ptr = NULL; LONGLONG val; if (is_system_prop( name )) return get_system_propval( view, index, name, ret, type, flavor ); - if (!is_selected_prop( view, name )) return WBEM_E_NOT_FOUND; + if (!view->result || !is_selected_prop( view, name )) return WBEM_E_NOT_FOUND; hr = get_column_index( view->table, name, &column ); if (hr != S_OK || is_method( view->table, column )) return WBEM_E_NOT_FOUND; - vartype = view->table->columns[column].vartype; - + row = view->result[index]; hr = get_value( view->table, row, column, &val ); if (hr != S_OK) return hr; + vartype = view->table->columns[column].vartype; if (view->table->columns[column].type & CIM_FLAG_ARRAY) { CIMTYPE basetype = view->table->columns[column].type & CIM_TYPE_MASK;