Fixes possible out-of-bounds access by strided slice.
PiperOrigin-RevId: 215269882
This commit is contained in:
parent
3c6e6885f3
commit
1630584951
@ -149,7 +149,7 @@ class StridedSliceOp : public OpKernel {
|
||||
// NDIM and T
|
||||
if (is_simple_slice && std::is_same<Device, CPUDevice>::value &&
|
||||
input_dims == 2 && processing_shape.dims() == 2 &&
|
||||
final_shape.dims() == 2) {
|
||||
final_shape.dims() == 2 && new_axis_mask == 0) {
|
||||
MemCpyFunctor<T> functor;
|
||||
if (functor.Copy(input, begin, end, result)) {
|
||||
return;
|
||||
|
@ -615,6 +615,14 @@ class StridedSliceTest(test_util.TensorFlowTestCase):
|
||||
_ = checker[:, 0]
|
||||
_ = checker[:, :, 0]
|
||||
|
||||
def testBothNewAxisAndShrink(self):
|
||||
with self.test_session(use_gpu=True):
|
||||
ones = array_ops.placeholder(shape=[2, 2], dtype=dtypes.int16)
|
||||
self.assertAllEqual(
|
||||
ones[array_ops.newaxis, :, 0].eval(
|
||||
feed_dict={ones: [[1, 1], [1, 1]]}),
|
||||
[[1, 1]])
|
||||
|
||||
def testTensorIndexing(self):
|
||||
with self.test_session(use_gpu=True):
|
||||
raw = [[[[[1, 2, 4, 5], [5, 6, 7, 8], [9, 10, 11, 12]]],
|
||||
|
Loading…
Reference in New Issue
Block a user