[1/2] server: Handle error when memdup fails in synthesize_formats.

Sebastian Lackner sebastian at fds-team.de
Thu Sep 29 20:41:38 CDT 2016


Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---

Adding a format with nonzero size but data == NULL would later trigger an access violation.

 server/clipboard.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/clipboard.c b/server/clipboard.c
index d8b5f96..89ce835 100644
--- a/server/clipboard.c
+++ b/server/clipboard.c
@@ -206,7 +206,7 @@ static int synthesize_formats( struct clipboard *clipboard )
         (HAS_FORMAT( map, CF_TEXT ) || HAS_FORMAT( map, CF_OEMTEXT ) || HAS_FORMAT( map, CF_UNICODETEXT )))
     {
         void *data = memdup( &clipboard->lcid, sizeof(clipboard->lcid) );
-        if ((format = add_format( clipboard, CF_LOCALE )))
+        if (data && (format = add_format( clipboard, CF_LOCALE )))
         {
             format->seqno = clipboard->seqno++;
             format->data  = data;
-- 
2.9.0



More information about the wine-patches mailing list