blob: 1c30f9a4fff63f5d823303c405fb13138638eb26 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
From 9e981c4dd03effc2c52b52f529edfa8955e534ce Mon Sep 17 00:00:00 2001
From: Pino Toscano <toscano.pino@tiscali.it>
Date: Tue, 15 May 2012 14:40:15 +0200
Subject: [PATCH] QElfParser: fix type of sh_size
The type of the sh_size field of a section header is either Elf32_Word or Elf64_Xword,
so the type used cannot be qelfword_t (always 32 bits) but qelfoff_t.
Change-Id: Ia380b6823913fee7a96b39f742630ae3a9ca0cb8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
(backport of 77b179689ba37dc909778fdd00df2701f83a2868 from qtbase)
---
src/corelib/plugin/qelfparser_p.cpp | 4 ++--
src/corelib/plugin/qelfparser_p.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
--- a/src/corelib/plugin/qelfparser_p.cpp
+++ b/src/corelib/plugin/qelfparser_p.cpp
@@ -61,8 +61,8 @@ const char *QElfParser::parseSectionHead
+ sizeof(qelfaddr_t); // sh_addr
sh->offset = read<qelfoff_t>(data);
data += sizeof(qelfoff_t); // sh_offset
- sh->size = read<qelfword_t>(data);
- data += sizeof(qelfword_t); // sh_size
+ sh->size = read<qelfoff_t>(data);
+ data += sizeof(qelfoff_t); // sh_size
return data;
}
--- a/src/corelib/plugin/qelfparser_p.h
+++ b/src/corelib/plugin/qelfparser_p.h
@@ -80,7 +80,7 @@ public:
qelfword_t name;
qelfword_t type;
qelfoff_t offset;
- qelfword_t size;
+ qelfoff_t size;
};
int m_endian;
|