src/network/ssl/qsslcertificate.cpp
branchRCL_3
changeset 5 d3bac044e0f0
parent 4 3b1da2848fc7
--- a/src/network/ssl/qsslcertificate.cpp	Fri Feb 19 23:40:16 2010 +0200
+++ b/src/network/ssl/qsslcertificate.cpp	Fri Mar 12 15:46:37 2010 +0200
@@ -634,11 +634,11 @@
     QByteArray tmp;
     for (int i = 0; i <= array.size() - 64; i += 64) {
         tmp += QByteArray::fromRawData(array.data() + i, 64);
-        tmp += "\n";
+        tmp += '\n';
     }
     if (int remainder = array.size() % 64) {
         tmp += QByteArray::fromRawData(array.data() + array.size() - remainder, remainder);
-        tmp += "\n";
+        tmp += '\n';
     }
 
     return BEGINCERTSTRING "\n" + tmp + ENDCERTSTRING "\n";
@@ -696,11 +696,11 @@
 
 static bool matchLineFeed(const QByteArray &pem, int *offset)
 {
-    char ch = pem.at(*offset);
+    char ch;
 
     // ignore extra whitespace at the end of the line
-    while (ch == ' ' && *offset < pem.size())
-        ch = pem.at(++*offset);
+    while (*offset < pem.size() && (ch = pem.at(*offset)) == ' ')
+        ++*offset;
 
     if (ch == '\n') {
         *offset += 1;
@@ -732,7 +732,7 @@
             break;
 
         offset = endPos + sizeof(ENDCERTSTRING) - 1;
-        if (!matchLineFeed(pem, &offset))
+        if (offset < pem.size() && !matchLineFeed(pem, &offset))
             break;
 
         QByteArray decoded = QByteArray::fromBase64(