Prechádzať zdrojové kódy

LibCore: Do not try to null-terminate a ByteBuffer in read_line()

That's just silly :)
Also fix that one use of read_line() which assumes it will
null-terminated in mount.cpp (this would've blown up if the IODevice was
at EOF and had a line with the same size as max_size).
AnotherTest 4 rokov pred
rodič
commit
129a58a2e5
2 zmenil súbory, kde vykonal 2 pridanie a 3 odobranie
  1. 1 2
      Libraries/LibCore/IODevice.cpp
  2. 1 1
      Userland/mount.cpp

+ 1 - 2
Libraries/LibCore/IODevice.cpp

@@ -200,8 +200,7 @@ ByteBuffer IODevice::read_line(size_t max_size)
             Vector<u8> new_buffered_data;
             new_buffered_data.append(m_buffered_data.data() + line_index, m_buffered_data.size() - line_index);
             m_buffered_data = move(new_buffered_data);
-            line[line_index] = '\0';
-            line.trim(line_index + 1);
+            line.trim(line_index);
             return line;
         }
     }

+ 1 - 1
Userland/mount.cpp

@@ -96,7 +96,7 @@ static bool mount_all()
     bool all_ok = true;
     while (fstab->can_read_line()) {
         ByteBuffer buffer = fstab->read_line(1024);
-        StringView line_view = (const char*)buffer.data();
+        StringView line_view { buffer.data(), buffer.size() };
 
         // Trim the trailing newline, if any.
         if (line_view.length() > 0 && line_view[line_view.length() - 1] == '\n')