[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when
From: |
Dmitri A. Sergatskov |
Subject: |
[Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array |
Date: |
Sat, 18 Feb 2023 13:56:21 -0500 (EST) |
Follow-up Comment #9, bug #63682 (project octave):
Running with ASAN I get:
octave:3> test libinterp/corefcn/cellfun.cc-tst
warning: inline is obsolete; use anonymous functions instead
=================================================================
==4032274==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x602001021218 at pc 0x7eff116d7266 bp 0x7efeed2d87c0 sp 0x7efeed2d87b0
READ of size 8 at 0x602001021218 thread T7 (QThread)
#0 0x7eff116d7265 in dim_vector::increment_index(long*, int) const
../liboctave/array/dim-vector.h:478
#1 0x7eff116d9d62 in Cell octave::do_mat2cell_nd<NDArray>(NDArray const&,
Array<long, std::allocator<long> > const*, int)
../libinterp/corefcn/cellfun.cc:2092
#2 0x7eff116d7c19 in Cell octave::do_mat2cell<NDArray>(NDArray const&,
Array<long, std::allocator<long> > const*, int)
../libinterp/corefcn/cellfun.cc:2106
#3 0x7eff1169fc02 in octave::Fmat2cell(octave_value_list const&, int)
../libinterp/corefcn/cellfun.cc:2276
#4 0x7eff114c6be2 in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3362
#5 0x7eff110d229a in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
#6 0x7eff111bac77 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#7 0x7eff1151315c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
#8 0x7eff11518749 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
#9 0x7eff1149028c in
octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:101
#10 0x7eff114cac49 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3863
#11 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#12 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#13 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#14 0x7eff114c8b6f in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3587
#15 0x7eff11297de2 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#16 0x7eff11297c73 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#17 0x7eff1151315c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
#18 0x7eff114b21ae in
octave::tree_evaluator::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/parse-tree/pt-eval.cc:1053
#19 0x7eff114b2d5d in
octave::tree_evaluator::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/parse-tree/pt-eval.cc:1112
#20 0x7eff11d9f893 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1478
#21 0x7eff1144f8b1 in octave::Feval(octave::interpreter&,
octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6466
#22 0x7eff114c6d02 in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3367
#23 0x7eff110d229a in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
#24 0x7eff111bac77 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#25 0x7eff1151315c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
#26 0x7eff11518749 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
#27 0x7eff114cac49 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3863
#28 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#29 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#30 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#31 0x7eff114cc35a in
octave::tree_evaluator::visit_try_catch_command(octave::tree_try_catch_command&)
../libinterp/parse-tree/pt-eval.cc:4063
#32 0x7eff115099be in
octave::tree_try_catch_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:80
#33 0x7eff114ca9eb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3838
#34 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#35 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#36 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#37 0x7eff114c9f38 in
octave::tree_evaluator::visit_if_command_list(octave::tree_if_command_list&)
../libinterp/parse-tree/pt-eval.cc:3711
#38 0x7eff114e1946 in
octave::tree_if_command_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:111
#39 0x7eff114c9b4f in
octave::tree_evaluator::visit_if_command(octave::tree_if_command&)
../libinterp/parse-tree/pt-eval.cc:3689
#40 0x7eff1152cbce in
octave::tree_if_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-select.h:141
#41 0x7eff114ca9eb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3838
#42 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#43 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#44 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#45 0x7eff114cd9ba in
octave::tree_evaluator::visit_unwind_protect_command(octave::tree_unwind_protect_command&)
../libinterp/parse-tree/pt-eval.cc:4208
#46 0x7eff11509a32 in
octave::tree_unwind_protect_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-except.h:142
#47 0x7eff114ca9eb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3838
#48 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#49 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#50 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#51 0x7eff114e5a19 in void
octave::tree_evaluator::execute_range_loop<double>(octave::range<double, void>
const&, int, octave::octave_lvalue&, octave::tree_statement_list*)
(/home/dima/src/dev/octave/gcc_asan/libinterp/.libs/liboctinterp.so.11+0x14e5a19)
#52 0x7eff114c369c in
octave::tree_evaluator::visit_simple_for_command(octave::tree_simple_for_command&)
../libinterp/parse-tree/pt-eval.cc:3075
#53 0x7eff11520360 in
octave::tree_simple_for_command::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-loop.h:179
#54 0x7eff114ca9eb in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3838
#55 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#56 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#57 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#58 0x7eff114c8b6f in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3587
#59 0x7eff11297de2 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#60 0x7eff11297c73 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#61 0x7eff1151315c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
#62 0x7eff11518749 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
#63 0x7eff114cac49 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3863
#64 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#65 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#66 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#67 0x7eff114b1b47 in
octave::tree_evaluator::eval(std::shared_ptr<octave::tree_statement_list>&,
bool) ../libinterp/parse-tree/pt-eval.cc:985
#68 0x7eff114b0835 in octave::tree_evaluator::repl()
../libinterp/parse-tree/pt-eval.cc:804
#69 0x7eff11d9e52c in octave::interpreter::main_loop()
../libinterp/corefcn/interpreter.cc:1316
#70 0x7eff11d90fc6 in octave::interpreter::execute()
../libinterp/corefcn/interpreter.cc:882
#71 0x7eff13116bbc in octave::interpreter_qobject::execute()
../libgui/src/interpreter-qobject.cc:87
#72 0x7eff1339f456 in
octave::interpreter_qobject::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) libgui/src/moc-interpreter-qobject.cc:88
#73 0x7eff0ead1a98 in QObject::event(QEvent*)
(/lib64/libQt5Core.so.5+0x2d1a98)
#74 0x7eff0f7ae422 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) (/lib64/libQt5Widgets.so.5+0x1ae422)
#75 0x7eff1321ecec in octave::octave_qapplication::notify(QObject*,
QEvent*) ../libgui/src/octave-qobject.cc:146
#76 0x7eff0eaa7357 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(/lib64/libQt5Core.so.5+0x2a7357)
#77 0x7eff0eaaa8b5 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (/lib64/libQt5Core.so.5+0x2aa8b5)
#78 0x7eff0eaf8fa6 in postEventSourceDispatch(_GSource*, int (*)(void*),
void*) (/lib64/libQt5Core.so.5+0x2f8fa6)
#79 0x7eff0871ae2e in g_main_context_dispatch
(/lib64/libglib-2.0.so.0+0x54e2e)
#80 0x7eff0876f507 in g_main_context_iterate.constprop.0
(/lib64/libglib-2.0.so.0+0xa9507)
#81 0x7eff087185f2 in g_main_context_iteration
(/lib64/libglib-2.0.so.0+0x525f2)
#82 0x7eff0eaf8a47 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt5Core.so.5+0x2f8a47)
#83 0x7eff0eaa5d61 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(/lib64/libQt5Core.so.5+0x2a5d61)
#84 0x7eff0e8e89c9 in QThread::exec() (/lib64/libQt5Core.so.5+0xe89c9)
#85 0x7eff0e8e9bf8 in QThreadPrivate::start(void*)
(/lib64/libQt5Core.so.5+0xe9bf8)
#86 0x7eff0889f801 in start_thread (/lib64/libc.so.6+0x9f801)
#87 0x7eff0883f44f in __GI___clone3 (/lib64/libc.so.6+0x3f44f)
0x602001021218 is located 0 bytes to the right of 8-byte region
[0x602001021210,0x602001021218)
allocated by thread T7 (QThread) here:
#0 0x7eff13cb64d7 in operator new[](unsigned long)
(/lib64/libasan.so.6+0xb64d7)
#1 0x7eff10ec9e46 in std::_MakeUniq<long []>::__array
std::make_unique<long []>(unsigned long)
/usr/include/c++/11/bits/unique_ptr.h:968
#2 0x7eff116d994b in Cell octave::do_mat2cell_nd<NDArray>(NDArray const&,
Array<long, std::allocator<long> > const*, int)
../libinterp/corefcn/cellfun.cc:2079
#3 0x7eff116d7c19 in Cell octave::do_mat2cell<NDArray>(NDArray const&,
Array<long, std::allocator<long> > const*, int)
../libinterp/corefcn/cellfun.cc:2106
#4 0x7eff1169fc02 in octave::Fmat2cell(octave_value_list const&, int)
../libinterp/corefcn/cellfun.cc:2276
#5 0x7eff114c6be2 in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3362
#6 0x7eff110d229a in octave_builtin::execute(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
#7 0x7eff111bac77 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#8 0x7eff1151315c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
#9 0x7eff11518749 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
#10 0x7eff1149028c in
octave::tree_simple_assignment::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-assign.cc:101
#11 0x7eff114cac49 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3863
#12 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
#13 0x7eff114cb798 in
octave::tree_evaluator::visit_statement_list(octave::tree_statement_list&)
../libinterp/parse-tree/pt-eval.cc:3948
#14 0x7eff11011c3a in
octave::tree_statement_list::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:193
#15 0x7eff114c8b6f in
octave::tree_evaluator::execute_user_function(octave_user_function&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3587
#16 0x7eff11297de2 in
octave_user_function::execute(octave::tree_evaluator&, int, octave_value_list
const&) ../libinterp/octave-value/ov-usr-fcn.cc:495
#17 0x7eff11297c73 in octave_user_function::call(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-usr-fcn.cc:488
#18 0x7eff1151315c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
#19 0x7eff114b21ae in
octave::tree_evaluator::eval_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool, int&, int)
../libinterp/parse-tree/pt-eval.cc:1053
#20 0x7eff114b2d5d in
octave::tree_evaluator::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/parse-tree/pt-eval.cc:1112
#21 0x7eff11d9f893 in
octave::interpreter::eval(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, int)
../libinterp/corefcn/interpreter.cc:1478
#22 0x7eff1144f8b1 in octave::Feval(octave::interpreter&,
octave_value_list const&, int) ../libinterp/parse-tree/oct-parse.yy:6466
#23 0x7eff114c6d02 in
octave::tree_evaluator::execute_builtin_function(octave_builtin&, int,
octave_value_list const&) ../libinterp/parse-tree/pt-eval.cc:3367
#24 0x7eff110d229a in octave_builtin::execute(octave::tree_evaluator&,
int, octave_value_list const&) ../libinterp/octave-value/ov-builtin.cc:49
#25 0x7eff111bac77 in octave_function::call(octave::tree_evaluator&, int,
octave_value_list const&) ../libinterp/octave-value/ov-fcn.cc:57
#26 0x7eff1151315c in
octave::tree_index_expression::evaluate_n(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.cc:427
#27 0x7eff11518749 in
octave::tree_index_expression::evaluate(octave::tree_evaluator&, int)
../libinterp/parse-tree/pt-idx.h:104
#28 0x7eff114cac49 in
octave::tree_evaluator::visit_statement(octave::tree_statement&)
../libinterp/parse-tree/pt-eval.cc:3863
#29 0x7eff1152ffb4 in octave::tree_statement::accept(octave::tree_walker&)
../libinterp/parse-tree/pt-stmt.h:120
Thread T7 (QThread) created by T0 here:
#0 0x7eff13c587d5 in pthread_create (/lib64/libasan.so.6+0x587d5)
#1 0x7eff0e8e969e in QThread::start(QThread::Priority)
(/lib64/libQt5Core.so.5+0xe969e)
SUMMARY: AddressSanitizer: heap-buffer-overflow
../liboctave/array/dim-vector.h:478 in dim_vector::increment_index(long*, int)
const
Shadow bytes around the buggy address:
0x0c04801fc1f0: fa fa fd fd fa fa fa fa fa fa fd fd fa fa fa fa
0x0c04801fc200: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fd fd
0x0c04801fc210: fa fa fa fa fa fa fd fd fa fa fa fa fa fa fa fa
0x0c04801fc220: fa fa fd fd fa fa fa fa fa fa fd fd fa fa fd fd
0x0c04801fc230: fa fa fd fa fa fa fd fd fa fa 00 00 fa fa 00 fa
=>0x0c04801fc240: fa fa 00[fa]fa fa fd fd fa fa 00 00 fa fa fd fa
0x0c04801fc250: fa fa 00 fa fa fa 00 00 fa fa fd fd fa fa 00 00
0x0c04801fc260: fa fa fd fd fa fa 00 00 fa fa fd fa fa fa fd fd
0x0c04801fc270: fa fa fd fd fa fa fd fd fa fa 00 00 fa fa fd fd
0x0c04801fc280: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fd
0x0c04801fc290: fa fa 00 00 fa fa fd fd fa fa fd fd fa fa fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==4032274==ABORTING
Dmitri.
--
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63682>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Rik, 2023/02/01
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Rik, 2023/02/04
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Markus Mützel, 2023/02/18
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Markus Mützel, 2023/02/18
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array,
Dmitri A. Sergatskov <=
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Markus Mützel, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Dmitri A. Sergatskov, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Dmitri A. Sergatskov, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Markus Mützel, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Markus Mützel, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Markus Mützel, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Rik, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Dmitri A. Sergatskov, 2023/02/19
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Rik, 2023/02/20
- [Octave-bug-tracker] [bug #63682] mat2cell returns incorrect value when only one output dimensions is specified and input is N-D array, Dmitri A. Sergatskov, 2023/02/20