aboutsummaryrefslogtreecommitdiff
path: root/src/common/linux/dump_symbols.cc
diff options
context:
space:
mode:
authorted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e>2007-07-02 12:02:36 +0000
committerted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e>2007-07-02 12:02:36 +0000
commitbd7b42587c3585575ff55517046977a4d98ae303 (patch)
tree5e59e60a3bc1914486581420f461c47095d211c3 /src/common/linux/dump_symbols.cc
parentissue 185 - Need constants / stringification for Linux exception codes. r=mento (diff)
downloadbreakpad-bd7b42587c3585575ff55517046977a4d98ae303.tar.xz
Issue 191 - Linux dump_syms produces bad line numbers for some functions (16 bit overflow). r=Liu Li
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@190 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/linux/dump_symbols.cc')
-rw-r--r--src/common/linux/dump_symbols.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc
index 5c2d6254..8c211579 100644
--- a/src/common/linux/dump_symbols.cc
+++ b/src/common/linux/dump_symbols.cc
@@ -223,7 +223,8 @@ int LoadLineInfo(struct nlist *list,
struct LineInfo line;
while (cur_list < list_end && cur_list->n_type == N_SLINE) {
line.rva_to_func = cur_list->n_value;
- line.line_num = cur_list->n_desc;
+ // n_desc is a signed short
+ line.line_num = (unsigned short)cur_list->n_desc;
func_info->line_info.push_back(line);
++cur_list;
}