Golang шифрование сообщения. Fix go -crypt (). - PullRequest
0 голосов
/ 26 января 2020
package main

import(

crypt "github.com/amoghe/go-crypt"
) 

Запуск приведенного выше кода дает ошибку:

root@kali:~/Desktop/tools/gos/SUnix# go run crack.go

 github.com/amoghe/go-crypt
/root/go/pkg/mod/github.com/amoghe/go-crypt@v0.0.0-20191109212615-b2ff80594b7f/crypt_r.go: In function ‘gnu_ext_crypt’:
/root/go/pkg/mod/github.com/amoghe/go-crypt@v0.0.0-20191109212615-b2ff80594b7f/crypt_r.go:35:3: warning: 'strncpy' specified bound depends on the length of the source argument...

это плохое изображение, как я могу это исправить

1 Ответ

0 голосов
/ 26 января 2020

Это предупреждение печатается компилятором C (файл crypt_r.go включает встроенный код на языке C), чтобы предупредить автора / пользователей о том, что код содержит потенциальную проблему. В этом случае предупреждение можно безопасно проигнорировать, но если вы хотите, чтобы оно было исправлено, лучше всего поднять PR / проблему в соответствующем репозитории .

warning 'strncpy' specified bound depends on the length of the source argument означает, что это плохая практика - основывать длину копии строки на длине источника; если вы сделаете это, а источник будет длиннее, чем целевой буфер, то у вас переполнение буфера, что плохо! Однако в этом случае целевой буфер создается в строке выше strncpy, поэтому вряд ли это будет проблемой (если по какой-то причине распределение не завершится неудачно).

Подобные вещи могут вызывать реальные проблемы в приложениях, написанных на C (и многих других языках); к счастью, go защищает вас (вместо того, чтобы перезаписывать буфер, он будет блокировать c), если вы не используете небезопасный пакет (или не включите C код!).

...