msi: avoid negative index in TABLE_insert_row

Aric Stewart aric at
Wed Mar 25 13:18:49 CDT 2009

What appears to be happening is There is an existing table (I am unsure 
how many rows it has)

Then the office installer is doing an Insert on the table as TEMPORARY.

r = table_create_new_row( view, &row, temporary );

returns a row of 0

then under the temporary case we do
idx -= tv->table->row_count

which is generating an idx of less than 0;

It looks like a wine bug. I can look into writing a test.


James Hawkins wrote:
> On Wed, Mar 25, 2009 at 10:39 AM, Aric Stewart <aric at> wrote:
>> fixes bug Bug 17600
>> ---
>>  dlls/msi/table.c |    3 ++-
>>  1 files changed, 2 insertions(+), 1 deletions(-)
> Please add a test case that demonstrates what you're trying to fix.
> If an internal msi function is sending in a negative index, then
> there's a bug somewhere else.

More information about the wine-devel mailing list