diff options
| author | Javier <dev.git@javispedro.com> | 2014-12-06 23:43:37 +0100 |
|---|---|---|
| committer | Javier <dev.git@javispedro.com> | 2014-12-06 23:43:37 +0100 |
| commit | 9aeb1bf31ad9ff5979f598f5925cfd25f544ba34 (patch) | |
| tree | 84ff214b9d8cd2cf88a4af0d530cacf42e38bfce | |
| parent | 5499dc58d09f07081c41b8e4dead810a82137939 (diff) | |
ensure packed strings are always null-terminated
| -rw-r--r-- | daemon/packer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/daemon/packer.cpp b/daemon/packer.cpp index 4dabf96..0cc71f6 100644 --- a/daemon/packer.cpp +++ b/daemon/packer.cpp @@ -97,6 +97,10 @@ void Packer::writeDict(const QMap<int, QVariant> &d) case QMetaType::QUrl: { QByteArray s = it.value().toString().toUtf8(); + if (s.isEmpty() || s[s.size() - 1] != '\0') { + // Add null terminator if it doesn't have one + s.append('\0'); + } writeLE<quint8>(WatchConnector::typeSTRING); writeLE<quint16>(s.size()); _buf->append(s); |
