Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

AppRegistry mishandles keys inherited from Object.prototype

Aberta
#58,196 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
68/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
react-native
Domínio
mobile

Direção de pesquisa

Comece pelos pontos de entrada públicos de AppRegistry mencionados no relatório: getRunnable(), registerApp ou o registro de seção, e getAppKeys()/getSectionKeys(). Reproduza os casos de busca do construtor e de registro de proto e, em seguida, inspecione como as chaves são armazenadas e resolvidas. Está concluído quando nomes herdados não registrados não forem resolvidos e toda chave de string registrada aparecer na lista de chaves relevante.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Needs: Author Feedback Needs: Repro
Description

The public AppRegistry stores app and section keys in plain object literals. Looking up an unregistered key such as constructor returns an inherited Object member. Registering the valid string key __proto__ mutates the registry prototype rather than creating an own entry, so the app/section key lists omit it.

The defect is present in React Native 0.87.1 and current main.

Steps to reproduce

Call AppRegistry.getRunnable("constructor"), then register an app or section named __proto__ and inspect getAppKeys() / getSectionKeys().

Expected behavior

Only explicitly registered keys should resolve, and all string app/section keys should be stored as ordinary own entries.

React Native Version

0.87.1 and current main.

Linguagem predominante
C++
Estrelas
127k
Forks
25.3k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de react/react-native

Todas as issues de react/react-native

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.