Como fazer um patch para a biblioteca C

0

Para meu projeto de classe, estou tentando corrigir uma vulnerabilidade fantasma no Ubuntu 12.04 manualmente. Eu entendo completamente os erros dentro do /nss/digits_dots.c e os consertei. Meu problema é que não sei como fazer um patch e compilá-lo. Como posso fazer um patch? Como posso apenas editar um arquivo na biblioteca e reconstruí-lo? Consegui fazer o download da biblioteca de fontes, mas depois fiquei preso! Aqui está o que eu fiz

apt-get source libc6 

Eu tive alguns erros. Então eu tive que instalar outros pacotes como

sudo apt-get install alien
sudo apt-get install gawk

Mas depois disso eu comecei várias coisas e comecei a entrar em círculos e loops, mas sem sucesso. Alguém pode me dizer como fazer um patch simples para uma biblioteca C.

Obrigado,

    
por Mona 08.04.2017 / 21:06

1 resposta

1

Supondo que você já tenha o pacote fonte original para ghost , você só quer testar localmente, e é apenas um arquivo alterado, então aqui está o que você pode fazer.

1. Crie um diff das suas alterações:

diff -u /path/to/original_ghost_file.c ghost_file_changes.c > ghost.patch

2. Aplique o patch.

Mude para o diretório de origem e execute:

patch -p1 ghost.patch

Sem ver seu patch, não posso aconselhá-lo sobre qual -p opção usar, mas presumo que você tenha usado caminhos absolutos.

3. Recriar e instalar

Ainda no diretório de origem, execute ./configure , make e make check . Se você quiser substituir a versão original de ghost , execute make install por último.

    
por Grayson Kent 08.04.2017 / 21:31