diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-08-17 14:45:45 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-08-17 14:45:45 -0300 |
commit | 271e05917f7782db2301e04923423b00994c75db (patch) | |
tree | dfd41b86c5cda2678873dc8d516b8fc76bcef98e /bugs | |
parent | fe8c365281f0f23f24ea79357296b8b9c91b7fdb (diff) | |
download | lua-271e05917f7782db2301e04923423b00994c75db.tar.gz lua-271e05917f7782db2301e04923423b00994c75db.tar.bz2 lua-271e05917f7782db2301e04923423b00994c75db.zip |
bug: lua_getupvalue and setupvalue do not check for index too small.
Diffstat (limited to 'bugs')
-rw-r--r-- | bugs | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -669,3 +669,24 @@ patch = [[ | |||
669 | ]] | 669 | ]] |
670 | } | 670 | } |
671 | 671 | ||
672 | |||
673 | Bug{ | ||
674 | what = [[lua_getupvalue and setupvalue do not check for index too small]], | ||
675 | |||
676 | report = [[Mike Pall, ?/2004]], | ||
677 | |||
678 | example = [[debug.getupvalue(function() end, 0)]], | ||
679 | |||
680 | patch = [[ | ||
681 | * lapi.c | ||
682 | 941c941 | ||
683 | < if (n > f->c.nupvalues) return NULL; | ||
684 | --- | ||
685 | > if (!(1 <= n && n <= f->c.nupvalues)) return NULL; | ||
686 | 947c947 | ||
687 | < if (n > p->sizeupvalues) return NULL; | ||
688 | --- | ||
689 | > if (!(1 <= n && n <= p->sizeupvalues)) return NULL; | ||
690 | ]] | ||
691 | } | ||
692 | |||