Mercurial > octave-nkf
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"); |