profiling: Fix cmdline parsing.

Change-Id: Ide0caee6994d0c2892ab934d030622b1146f7c6c
diff --git a/src/profiling/memory/heapprofd_producer.cc b/src/profiling/memory/heapprofd_producer.cc
index 8602abd..33df7d4 100644
--- a/src/profiling/memory/heapprofd_producer.cc
+++ b/src/profiling/memory/heapprofd_producer.cc
@@ -98,9 +98,14 @@
 
     // Strip everything after @ for Java processes.
     // Otherwise, strip newline at EOF.
-    size_t endpos = process_cmdline.find('@');
-    if (endpos == std::string::npos)
-      endpos = process_cmdline.size();
+    size_t endpos = process_cmdline.find('\0');
+    if (endpos == std::string::npos) {
+      PERFETTO_DFATAL("No nullbyte in cmdline.");
+      return;
+    }
+    size_t atpos = process_cmdline.find('@');
+    if (atpos != std::string::npos && atpos < endpos)
+      endpos = atpos;
     if (endpos < 1)
       return;
     process_cmdline.resize(endpos);