Fix issue 403, issue 456, issue 462

pull/3335/head
xiaofeng@google.com 12 years ago
parent e406747cd5
commit de3494fe5c
  1. 6
      src/google/protobuf/compiler/java/java_service.cc
  2. 8
      src/google/protobuf/io/coded_stream_inl.h
  3. 2
      src/google/protobuf/message.cc

@ -88,6 +88,12 @@ void ServiceGenerator::Generate(io::Printer* printer) {
GenerateStub(printer);
GenerateBlockingStub(printer);
// Add an insertion point.
printer->Print(
"\n"
"// @@protoc_insertion_point(class_scope:$full_name$)\n",
"full_name", descriptor_->full_name());
printer->Outdent();
printer->Print("}\n\n");
}

@ -50,8 +50,12 @@ inline bool CodedInputStream::InternalReadStringInline(string* buffer,
if (BufferSize() >= size) {
STLStringResizeUninitialized(buffer, size);
memcpy(string_as_array(buffer), buffer_, size);
Advance(size);
// When buffer is empty, string_as_array(buffer) will return NULL but memcpy
// requires non-NULL pointers even when size is 0. Hench this check.
if (size > 0) {
memcpy(string_as_array(buffer), buffer_, size);
Advance(size);
}
return true;
}

@ -32,7 +32,7 @@
// Based on original Protocol Buffers design by
// Sanjay Ghemawat, Jeff Dean, and others.
#include <iostream>
#include <istream>
#include <stack>
#include <google/protobuf/stubs/hash.h>

Loading…
Cancel
Save