channels/smartcard: fix some valgrind warnings
authorMarc-André Moreau <marcandre.moreau@gmail.com>
Wed, 9 Apr 2014 16:28:03 +0000 (12:28 -0400)
committerMarc-André Moreau <marcandre.moreau@gmail.com>
Wed, 9 Apr 2014 16:28:03 +0000 (12:28 -0400)
channels/smartcard/client/smartcard_operations.c
libfreerdp/core/mcs.c
winpr/libwinpr/smartcard/smartcard_pcsc.c

index 310963c..46d01d6 100644 (file)
@@ -152,7 +152,7 @@ size_t smartcard_multi_string_length_a(const char* msz)
        if (!p)
                return 0;
 
-       while (p[0] || p[1])
+       while ((p[0] != 0) && (p[1] != 0))
                p++;
 
        return (p - msz);
@@ -165,7 +165,7 @@ size_t smartcard_multi_string_length_w(const WCHAR* msz)
        if (!p)
                return 0;
 
-       while (p[0] || p[1])
+       while ((p[0] != 0) && (p[1] != 0))
                p++;
 
        return (p - msz);
index efffff5..31620b8 100644 (file)
@@ -1087,6 +1087,7 @@ void mcs_free(rdpMcs* mcs)
 {
        if (mcs)
        {
+               free(mcs->channels);
                free(mcs);
        }
 }
index cc80a31..e42dc18 100644 (file)
@@ -64,7 +64,7 @@ size_t PCSC_MultiStringLengthA(const char* msz)
        if (!p)
                return 0;
 
-       while (p[0] || p[1])
+       while ((p[0] != 0) && (p[1] != 0))
                p++;
 
        return (p - msz);
@@ -77,7 +77,7 @@ size_t PCSC_MultiStringLengthW(const WCHAR* msz)
        if (!p)
                return 0;
 
-       while (p[0] || p[1])
+       while ((p[0] != 0) && (p[1] != 0))
                p++;
 
        return (p - msz);