You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "maslke (GitHub)" <gi...@apache.org> on 2019/10/22 11:16:30 UTC

[GitHub] [dubbo] maslke opened issue #5215: functions get & set & remove in org.apache.dubbo.common.utils.Stack take no consideration that index plus mSize is negative

- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment
branch: master

functions take & put in org.apache.dubbo.common.utils.Stack consider no the situation that index plus mSize is negative .
```java
public E get(int index) {
        if (index >= mSize) {
            throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + mSize);
        }

        return index < 0 ? mElements.get(index + mSize) : mElements.get(index);
    }

public E set(int index, E value) {
        if (index >= mSize) {
            throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + mSize);
        }

        return mElements.set(index < 0 ? index + mSize : index, value);
    }

public E remove(int index) {
        if (index >= mSize) {
            throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + mSize);
        }

        E ret = mElements.remove(index < 0 ? index + mSize : index);
        mSize--;
        return ret;
    }
```
the implementations are not strict.

[ Full content available at: https://github.com/apache/dubbo/issues/5215 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [dubbo] lkj41110 commented on issue #5215: functions get & set & remove in org.apache.dubbo.common.utils.Stack take no consideration that index plus mSize is negative

Posted by "lkj41110 (GitHub)" <gi...@apache.org>.
In theory , if index plus mSize is negative ,functions take & put & remove also throw IndexOutOfBoundsException.But your idea will make it more complete.

[ Full content available at: https://github.com/apache/dubbo/issues/5215 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org