パスワード削除機能性で、パスワードが存在ないかどうか確認
このコミットが含まれているのは:
コミット
a4f76ab2d9
|
@ -3,6 +3,7 @@
|
|||
* makeを実行したら、バイナリがもっと小さくなる
|
||||
* パスワードの長さの延長
|
||||
* パスワード追加機能性で、パスワードが既に存在するかどうか確認
|
||||
* パスワード削除機能性で、パスワードが存在ないかどうか確認
|
||||
|
||||
# 1.1.2
|
||||
* OpenBSDでのコンパイラーが発生された問題を修正した
|
||||
|
|
17
delpass.c
17
delpass.c
|
@ -15,6 +15,23 @@ int delpass(char* file) {
|
|||
|
||||
char* basedir = "/.local/share/sp/";
|
||||
char* ext = ".gpg";
|
||||
|
||||
int alllen = snprintf(NULL, 0, "%s%s%s%s", homedir, basedir, file, ext) + 1;
|
||||
char* gpgpathchk = malloc(alllen);
|
||||
if (gpgpathchk == NULL) {
|
||||
perror("メモリを割当に失敗。");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// ファイルが既に存在するかどうか確認
|
||||
snprintf(gpgpathchk, alllen, "%s%s%s%s", homedir, basedir, file, ext);
|
||||
if (access(gpgpathchk, F_OK) != 0) {
|
||||
fprintf(stderr, "パスワードが存在しません。\n");
|
||||
free(gpgpathchk);
|
||||
return -1;
|
||||
}
|
||||
free(gpgpathchk);
|
||||
|
||||
int needed = snprintf(pwfile, sizeof(pwfile), "%s%s%s%s", homedir, basedir, file, ext);
|
||||
if (needed >= (int)sizeof(pwfile)) {
|
||||
fprintf(stderr, "エラー:パスが長すぎる。\n");
|
||||
|
|
読み込み中…
新しいイシューから参照