Commit dc33b135 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

msi: Fix a record leak on error paths (Coverity).

parent d78a0612
......@@ -1003,7 +1003,7 @@ static UINT HANDLE_CustomType5_6( MSIPACKAGE *package, const WCHAR *source, cons
'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
'`','B','i' ,'n','a','r','y','`',' ','W','H','E','R','E',' ',
'`','N','a','m','e','`',' ','=',' ','\'','%','s','\'',0};
MSIRECORD *row = 0;
MSIRECORD *row = NULL;
msi_custom_action_info *info;
CHAR *buffer = NULL;
WCHAR *bufferw = NULL;
......@@ -1017,10 +1017,14 @@ static UINT HANDLE_CustomType5_6( MSIPACKAGE *package, const WCHAR *source, cons
return ERROR_FUNCTION_FAILED;
r = MSI_RecordReadStream(row, 2, NULL, &sz);
if (r != ERROR_SUCCESS) return r;
if (r != ERROR_SUCCESS) goto done;
buffer = msi_alloc( sz + 1 );
if (!buffer) return ERROR_FUNCTION_FAILED;
if (!buffer)
{
r = ERROR_FUNCTION_FAILED;
goto done;
}
r = MSI_RecordReadStream(row, 2, buffer, &sz);
if (r != ERROR_SUCCESS)
......@@ -1040,6 +1044,7 @@ static UINT HANDLE_CustomType5_6( MSIPACKAGE *package, const WCHAR *source, cons
done:
msi_free(bufferw);
msi_free(buffer);
msiobj_release(&row->hdr);
return r;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment