Marcus Meissner : oledb32: Check start for NULL before strstrW (Coverity).

Alexandre Julliard julliard at winehq.org
Tue Jan 8 13:58:41 CST 2013


Module: wine
Branch: master
Commit: 8105a1207b8f3095e7046fd56fd0f2a9ff4efc63
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8105a1207b8f3095e7046fd56fd0f2a9ff4efc63

Author: Marcus Meissner <meissner at suse.de>
Date:   Mon Jan  7 22:17:22 2013 +0100

oledb32: Check start for NULL before strstrW (Coverity).

---

 dlls/oledb32/datainit.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/dlls/oledb32/datainit.c b/dlls/oledb32/datainit.c
index a870bbc..aa61d3b 100644
--- a/dlls/oledb32/datainit.c
+++ b/dlls/oledb32/datainit.c
@@ -414,8 +414,6 @@ static HRESULT WINAPI datainit_GetDataSource(IDataInitialize *iface, IUnknown *o
     /* now set properties */
     if (initstring)
     {
-        static const WCHAR scolW[] = {';',0};
-        static const WCHAR eqW[] = {'=',0};
         WCHAR *eq, *start;
 
         hr = IUnknown_QueryInterface(*datasource, &IID_IDBProperties, (void**)&dbprops);
@@ -426,10 +424,10 @@ static HRESULT WINAPI datainit_GetDataSource(IDataInitialize *iface, IUnknown *o
         }
 
         start = initstring;
-        while ((eq = strstrW(start, eqW)))
+        while (start && (eq = strchrW(start, '=')))
         {
             static const WCHAR providerW[] = {'P','r','o','v','i','d','e','r',0};
-            WCHAR *scol = strstrW(eq+1, scolW);
+            WCHAR *scol = strchrW(eq+1, ';');
             BSTR value, name;
 
             name = SysAllocStringLen(start, eq - start);




More information about the wine-cvs mailing list