Message ID | 20180319213101.6100-2-wsa+renesas@sang-engineering.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Geert Uytterhoeven |
Headers | show |
On 03/19/2018 10:30 PM, Wolfram Sang wrote: > The value for "rom-size" is used as a divisor, so it must not be 0 or it > will segfault. A size of 0 wouldn't make sense anyhow. > > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> > --- > hw/nvram/eeprom_at24c.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c > index 22183f5360..ccf78b25e4 100644 > --- a/hw/nvram/eeprom_at24c.c > +++ b/hw/nvram/eeprom_at24c.c > @@ -121,6 +121,11 @@ int at24c_eeprom_init(I2CSlave *i2c) > { > EEPROMState *ee = AT24C_EE(i2c); > > + if (!ee->rsize) { > + ERR("rom-size not allowed to be 0\n"); You can directly use error_report() in this patch. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > + exit(1); > + } > + > ee->mem = g_malloc0(ee->rsize); > > if (ee->blk) { >
> > + if (!ee->rsize) { > > + ERR("rom-size not allowed to be 0\n"); > > You can directly use error_report() in this patch. My reasoning was that this patch is suitable for stable while the error_report() stuff is not. I neither wanted to mix those two here nor did I want to make the stable-patch depend on the non-stable patch. So, I chose to use ERR here and fix all of ERR later. OK?
diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c index 22183f5360..ccf78b25e4 100644 --- a/hw/nvram/eeprom_at24c.c +++ b/hw/nvram/eeprom_at24c.c @@ -121,6 +121,11 @@ int at24c_eeprom_init(I2CSlave *i2c) { EEPROMState *ee = AT24C_EE(i2c); + if (!ee->rsize) { + ERR("rom-size not allowed to be 0\n"); + exit(1); + } + ee->mem = g_malloc0(ee->rsize); if (ee->blk) {
The value for "rom-size" is used as a divisor, so it must not be 0 or it will segfault. A size of 0 wouldn't make sense anyhow. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> --- hw/nvram/eeprom_at24c.c | 5 +++++ 1 file changed, 5 insertions(+)