From a8c1c466a16ad4c85bfd1ca20ab8fc056d669abe Mon Sep 17 00:00:00 2001 From: "SiyangXie@gmail.com" Date: Mon, 1 Nov 2010 17:31:31 +0000 Subject: Restrict ownership of symbol data buffers to symbol supplier. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@721 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/google_breakpad/processor/network_source_line_resolver.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/google_breakpad/processor/network_source_line_resolver.h') diff --git a/src/google_breakpad/processor/network_source_line_resolver.h b/src/google_breakpad/processor/network_source_line_resolver.h index f60ff701..138b2f56 100644 --- a/src/google_breakpad/processor/network_source_line_resolver.h +++ b/src/google_breakpad/processor/network_source_line_resolver.h @@ -84,6 +84,10 @@ class NetworkSourceLineResolver : public SourceLineResolverInterface, virtual bool LoadModuleUsingMemoryBuffer(const CodeModule *module, char *memory_buffer); + // It doesn't matter whether returns true or false, since no memory buffer + // will be allocated in GetCStringSymbolData(). + virtual bool ShouldDeleteMemoryBufferAfterLoadModule() { return true; } + void UnloadModule(const CodeModule *module); virtual bool HasModule(const CodeModule *module); @@ -112,6 +116,11 @@ class NetworkSourceLineResolver : public SourceLineResolverInterface, string *symbol_file, char **symbol_data); + // Delete the data buffer allocated in GetCStringSymbolData(). + // Since the above GetCStringSymbolData() won't allocate any memory at all, + // this method is no-op. + virtual void FreeSymbolData(const CodeModule *module) { } + private: int wait_milliseconds_; // if false, some part of our network setup failed. -- cgit v1.2.1