[1/2] comctl32/tab: Check destination pointer for NULL in TCM_GETITEM handler

Nikolay Sivov bunglehead at gmail.com
Sun Aug 16 08:57:43 CDT 2009


Changelog:
    - perform a simple NULL check for output buffer

>From fe2f4a733fc1f37bd386eb6ff8c0fe6a4b7539b7 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Fri, 14 Aug 2009 22:50:05 +0400
Subject: Check destination pointer for NULL in TCM_GETITEM handler

---
 dlls/comctl32/tab.c       |    2 ++
 dlls/comctl32/tests/tab.c |    5 +++++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c
index 4b439b2..5c90883 100644
--- a/dlls/comctl32/tab.c
+++ b/dlls/comctl32/tab.c
@@ -2810,6 +2810,8 @@ TAB_GetItemT (TAB_INFO *infoPtr, INT iItem, LPTCITEMW tabItem, BOOL bUnicode)
 
   TRACE("(%p,%d,%p,%s)\n", infoPtr, iItem, tabItem, bUnicode ? "true" : "false");
 
+  if (!tabItem) return FALSE;
+
   if (iItem < 0 || iItem >= infoPtr->uNumItem)
     return FALSE;
 
diff --git a/dlls/comctl32/tests/tab.c b/dlls/comctl32/tests/tab.c
index 5fc1577..9163f92 100644
--- a/dlls/comctl32/tests/tab.c
+++ b/dlls/comctl32/tests/tab.c
@@ -835,8 +835,13 @@ static void test_getters_setters(HWND parent_wnd, INT nTabs)
     /* Testing GetSet Item */
     {
         TCITEM tcItem;
+        DWORD ret;
         char szText[32] = "New Label";
 
+        /* TCM_GETITEM with null dest pointer */
+        ret = SendMessage(hTab, TCM_GETITEM, 0, (LPARAM)NULL);
+        expect(FALSE, ret);
+
         flush_sequences(sequences, NUM_MSG_SEQUENCES);
 
         tcItem.mask = TCIF_TEXT;
-- 
1.5.6.5







More information about the wine-patches mailing list