diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 007958e3045..96623df2b39 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -717,8 +717,8 @@ string_table *load_string_table( IStorage *stg ) * and its the high word of the length is inserted in the null string's * reference count field. */ - if( pool[i*2-2] == 0 ) - len += pool[i*2-1] * 0x10000; + if( pool[i*2-2] == 0 && pool[i*2-1] ) + len += pool[i*2+1] * 0x10000; if( (offset + len) > datasize ) {