diff mbox

[next] wine: Add patch to fix miscompilation with gcc 4.9

Message ID 54F3688E.6050600@dawncrow.de
State Accepted
Headers show

Commit Message

André Zwing March 1, 2015, 7:29 p.m. UTC
Signed-off-by: André Hentschel <nerv@dawncrow.de>
---

Fix miscompilation with gcc >= 4.9
See https://bugs.winehq.org/show_bug.cgi?id=36139 for the upstream
bug report. There won't be a Wine 1.6.3 so we need to address this
anyway.

 package/wine/0001-Prevent-call-to-memset-with-a-null-pointer.patch | 40 ++++++++++++++++++++++
 1 file changed, 40 insertions(+)

Comments

Thomas Petazzoni March 4, 2015, 10:30 p.m. UTC | #1
Dear André Hentschel,

On Sun, 01 Mar 2015 20:29:18 +0100, André Hentschel wrote:
> Signed-off-by: André Hentschel <nerv@dawncrow.de>

Applied, thanks!

Thomas
diff mbox

Patch

diff --git a/package/wine/0001-Prevent-call-to-memset-with-a-null-pointer.patch b/package/wine/0001-Prevent-call-to-memset-with-a-null-pointer.patch
new file mode 100644
index 0000000..f6d5a9d
--- /dev/null
+++ b/package/wine/0001-Prevent-call-to-memset-with-a-null-pointer.patch
@@ -0,0 +1,40 @@ 
+commit deb274226783ab886bdb44876944e156757efe2b
+Author: Daniel Beitler <dan@dablabs.com>
+Date:   Sun May 18 13:27:42 2014 -0400
+
+    msi: Prevent call to memset with a null pointer
+         in get_tablecolumns function.
+
+Fix miscompilation with gcc >= 4.9
+See https://bugs.winehq.org/show_bug.cgi?id=36139 for the upstream
+bug report. There won't be a Wine 1.6.3 so we need to address this
+anyway.
+
+Backported from: deb274226783ab886bdb44876944e156757efe2b
+Signed-off-by: André Hentschel <nerv@dawncrow.de>
+---
+ dlls/msi/table.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dlls/msi/table.c b/dlls/msi/table.c
+index 8012369..9ed9421 100644
+--- a/dlls/msi/table.c
++++ b/dlls/msi/table.c
+@@ -671,7 +671,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF
+     /* Note: _Columns table doesn't have non-persistent data */
+ 
+     /* if maxcount is non-zero, assume it's exactly right for this table */
+-    memset( colinfo, 0, maxcount * sizeof(*colinfo) );
++    if (colinfo) memset( colinfo, 0, maxcount * sizeof(*colinfo) );
+     count = table->row_count;
+     for (i = 0; i < count; i++)
+     {
+@@ -684,7 +684,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF
+             /* check the column number is in range */
+             if (col < 1 || col > maxcount)
+             {
+-                ERR("column %d out of range\n", col);
++                ERR("column %d out of range (maxcount: %d)\n", col, maxcount);
+                 continue;
+             }
+             /* check if this column was already set */