Open kiq005 opened 7 years ago
A verificação de escopos foram corrigidas na atualização 13-08-17(2), o que já prepara bem a implementação correta dos escopos. Porém, do modo que está programado, é possível acessar métodos privados de fora de uma classe, pois o objeto da classe é passado em call
e definido como escopo em __realize_call__
. O trabalho sobre uma variável local definida em main
(pode-se utilizar __attribute__((constructor))
para trabalhar sobre uma variável definida) para que tenhamos o escopo "externo", e assim limitar o acesso a funções privadas. Implementando a funcionalidade em funções, será fácil fazer o mesmo para variáveis, uma vez que utiliza-se apenas o método __get_attribute_index__
que pode retornar um número negativo caso tente acessar uma variável protegida ou privada fora do escopo desejado.
É importante lembrar que tanto a macro call
quanto get
podem ser chamadas aninhadas, o que pode atrapalhar no manuseio.
Ainda não foi resolvido:
citado na atualização 22-07-17.