-
npes87184 authored
The &cmd will return a pointer which point to a pointer of cmdline. It is a memory address which is usually 8 bytes in 64 bits machine. However, the struct cmdline is 4 bytes. This will cause setting zero beyond the bound. Below is a simple example to show the differentiation: struct cmdline { char skip_initramfs; char slot[3]; }; static void parse_cmdline(struct cmdline *cmd) { printf("%lu\n", sizeof(*cmd)); /* 4 */ printf("%lu\n", sizeof(&cmd)); /* 8 */ } int main() { struct cmdline cmd; parse_cmdline(&cmd); return 0; } This patch prevents this. Signed-off-by:npes87184 <npes87184@gmail.com>
312466aa
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| core | ||
| external | ||
| include | ||
| magiskboot | ||
| magiskhide | ||
| magiskpolicy @ c69dc0f0 | ||
| resetprop | ||
| su @ 29d57402 | ||
| utils | ||
| Android.mk | ||
| Application.mk | ||
| b64xz.c |