[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdesupport/strigi/src/streams
From:       Sebastian Trueg <sebastian () trueg ! de>
Date:       2008-12-18 19:33:38
Message-ID: 1229628818.440532.5015.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 898697 by trueg:

crash fix -> never call iconv with a null buffer

 M  +8 -6      mailinputstream.cpp  


--- trunk/kdesupport/strigi/src/streams/mailinputstream.cpp #898696:898697
@@ -84,11 +84,13 @@
         bufferlen = olen;
         buffer = (char*)realloc(buffer, bufferlen);
     }
-    char* out = buffer;
-    char* mem = out;
-    size_t r = iconv(conv, &in, &ilen, &out, &olen);
-    if (r != (size_t)-1) {
-        data.assign(mem, out-mem);
+    if (olen > 0) {
+        char* out = buffer;
+        char* mem = out;
+        size_t r = iconv(conv, &in, &ilen, &out, &olen);
+        if (r != (size_t)-1) {
+            data.assign(mem, out-mem);
+        }
     }
 }
 
@@ -452,7 +454,7 @@
             int32_t blen = boundary.top().length();
             if (len == blen + 4 && strncmp(linestart + 2 + blen, "--", 2) == 0
                     && strncmp(linestart + 2, boundary.top().c_str(), blen)
-                        == 0) { 
+                        == 0) {
                 // check if this is the end of a multipart
                 boundary.pop();
                 if (boundary.size() == 0) {
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic