comparison libinterp/corefcn/graphics.in.h @ 20308:b8c1b3e9aa91 stable

Fix segfault when '[]' used for row_vector_property. * graphics.in.h (row_vector_property::add_constraint (octave_idx_type len)): Remove validation that accepts 0x0 matrix. * graphics.in.h (image::init): Call add_constraint() to allow 0x0 since xdata, ydata can legitimately be '[]' for these properties.
author Rik <rik@octave.org>
date Tue, 23 Jun 2015 09:59:54 -0700
parents aa36fb998a4d
children 140ce5e857bf
comparison
equal deleted inserted replaced
20304:dc74b700cdec 20308:b8c1b3e9aa91
1459 1459
1460 void add_constraint (octave_idx_type len) 1460 void add_constraint (octave_idx_type len)
1461 { 1461 {
1462 size_constraints.remove (dim_vector (1, -1)); 1462 size_constraints.remove (dim_vector (1, -1));
1463 size_constraints.remove (dim_vector (-1, 1)); 1463 size_constraints.remove (dim_vector (-1, 1));
1464 size_constraints.remove (dim_vector (0, 0));
1464 1465
1465 add_constraint (dim_vector (1, len)); 1466 add_constraint (dim_vector (1, len));
1466 add_constraint (dim_vector (len, 1)); 1467 add_constraint (dim_vector (len, 1));
1467 } 1468 }
1468 1469
4690 4691
4691 protected: 4692 protected:
4692 void init (void) 4693 void init (void)
4693 { 4694 {
4694 xdata.add_constraint (2); 4695 xdata.add_constraint (2);
4696 xdata.add_constraint (dim_vector (0, 0));
4695 ydata.add_constraint (2); 4697 ydata.add_constraint (2);
4698 ydata.add_constraint (dim_vector (0, 0));
4696 cdata.add_constraint ("double"); 4699 cdata.add_constraint ("double");
4697 cdata.add_constraint ("single"); 4700 cdata.add_constraint ("single");
4698 cdata.add_constraint ("logical"); 4701 cdata.add_constraint ("logical");
4699 cdata.add_constraint ("uint8"); 4702 cdata.add_constraint ("uint8");
4700 cdata.add_constraint ("uint16"); 4703 cdata.add_constraint ("uint16");