Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:RISCV
pdisk
pdisk-dump_block-typepunning.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pdisk-dump_block-typepunning.patch of Package pdisk
dump.c: In function 'full_dump_block_zero': dump.c:718: warning: dereferencing type-punned pointer will break strict-aliasing rules dump.c | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) Index: pdisk/dump.c =================================================================== --- pdisk.orig/dump.c +++ pdisk/dump.c @@ -685,6 +685,7 @@ full_dump_block_zero(partition_map_heade { Block0 *zp; DDMap *m; + DDMap *me; int i; if (map == NULL) { @@ -706,16 +707,17 @@ full_dump_block_zero(partition_map_heade printf(" data: 0x%lx\n", zp->sbData); printf(" driver count: %d\n", zp->sbDrvrCount); m = (DDMap *) zp->sbMap; - for (i = 0; &m[i].ddType < &zp->sbMap[247]; i++) { - if (m[i].ddBlock == 0 && m[i].ddSize == 0 && m[i].ddType == 0) { + me = (DDMap *) (zp + 1); + for (i = 0; m < me; m++, i++) { + if (m->ddBlock == 0 && m->ddSize == 0 && m->ddType == 0) { break; } - printf(" driver %3u block: %ld\n", i+1, m[i].ddBlock); - printf(" size in blocks: %d\n", m[i].ddSize); - printf(" driver type: 0x%x\n", m[i].ddType); + printf(" driver %3u block: %ld\n", i+1, m->ddBlock); + printf(" size in blocks: %d\n", m->ddSize); + printf(" driver type: 0x%x\n", m->ddType); } printf("remainder of block -"); - dump_block((unsigned char *)&m[i].ddBlock, (&zp->sbMap[247]-((unsigned short *)&m[i].ddBlock))*2); + dump_block((unsigned char *)m, (int)(me - m) * sizeof(DDMap)); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor