| Summary: | [PATCH] syswrap-linux: improve initialisation checks for I2C_RDWR syscall | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Christian Schmidt <schmidt> |
| Component: | general | Assignee: | Julian Seward <jseward> |
| Status: | REPORTED --- | ||
| Severity: | normal | CC: | pjfloyd |
| Priority: | NOR | ||
| Version First Reported In: | 3.23 GIT | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Patch for improved initialisation checks for I2C_RDWR syscall | ||
Created attachment 164914 [details] Patch for improved initialisation checks for I2C_RDWR syscall The argument structures for this syscall contain padding. The current code will always fail, as the padding is not initialised. The structures in question are from linux/i2c-dev.h: struct i2c_rdwr_ioctl_data { struct i2c_msg *msgs; /* pointers to i2c_msgs */ __u32 nmsgs; /* number of i2c_msgs */ // Padding here (on 64bit machines) }; and from linux/i2c.h: struct i2c_msg { __u16 addr; __u16 flags; __u16 len; // Padding here __u8 *buf; }; Patch to check the individual fields instead is attached.