[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1894029] Re: qemu-i386 malloc error
From: |
Tony.LI |
Subject: |
[Bug 1894029] Re: qemu-i386 malloc error |
Date: |
Thu, 03 Sep 2020 05:57:51 -0000 |
** Description changed:
Hi!I use qemu-i386-static on 64 bit machines.And memory request succeeded,
but the pointer is wrong.
This is my test program:
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
- void *pa=0,*pb=0,*pc=0,*pd=0;
- pa = malloc(sizeof(uint32_t));
- pb = malloc(sizeof(uint32_t));
- pc = malloc(4);
- pd = malloc(4);
- printf("pa: 0x%x\n",pa);
- printf("pb: 0x%x\n",pb);
- printf("pc: 0x%x\n",pc);
- printf("pd: 0x%x\n",pd);
- printf("uint32_t:%d\n",sizeof(uint32_t));
- free(pa);
- free(pb);
- free(pc);
- free(pd);
- return 0;
+ void *pa=0,*pb=0,*pc=0,*pd=0;
+ pa = malloc(sizeof(uint32_t));
+ pb = malloc(sizeof(uint32_t));
+ pc = malloc(4);
+ pd = malloc(4);
+ printf("pa: 0x%x\n",pa);
+ printf("pb: 0x%x\n",pb);
+ printf("pc: 0x%x\n",pc);
+ printf("pd: 0x%x\n",pd);
+ printf("uint32_t:%d\n",sizeof(uint32_t));
+ free(pa);
+ free(pb);
+ free(pc);
+ free(pd);
+ return 0;
}
And it is wrong:
pa: 0x400051a0
pb: 0x400051b0
pc: 0x400051c0
pd: 0x400051d0
uint32_t:4
Why did I apply for 4 bytes of space, but the pointer only increased by 2
bytes??
Is it a BUG??
** Description changed:
- Hi!I use qemu-i386-static on 64 bit machines.And memory request succeeded,
but the pointer is wrong.
- This is my test program:
-
- #include <stdint.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-
- int main(int argc, char **argv)
- {
- void *pa=0,*pb=0,*pc=0,*pd=0;
- pa = malloc(sizeof(uint32_t));
- pb = malloc(sizeof(uint32_t));
- pc = malloc(4);
- pd = malloc(4);
- printf("pa: 0x%x\n",pa);
- printf("pb: 0x%x\n",pb);
- printf("pc: 0x%x\n",pc);
- printf("pd: 0x%x\n",pd);
- printf("uint32_t:%d\n",sizeof(uint32_t));
- free(pa);
- free(pb);
- free(pc);
- free(pd);
- return 0;
- }
-
- And it is wrong:
-
- pa: 0x400051a0
- pb: 0x400051b0
- pc: 0x400051c0
- pd: 0x400051d0
- uint32_t:4
-
- Why did I apply for 4 bytes of space, but the pointer only increased by 2
bytes??
- Is it a BUG??
+ Invalid
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1894029
Title:
qemu-i386 malloc error
Status in QEMU:
Invalid
Bug description:
Invalid
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1894029/+subscriptions