SHA256
1
0
forked from pool/cryptsetup

Accepting request 21407 from security

Copy from security/cryptsetup based on submit request 21407 from user lnussel

OBS-URL: https://build.opensuse.org/request/show/21407
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cryptsetup?expand=0&rev=36
This commit is contained in:
OBS User autobuild 2009-10-02 22:43:04 +00:00 committed by Git OBS Bridge
commit 49f9cb2a96
3 changed files with 37 additions and 3 deletions

View File

@ -1,13 +1,42 @@
From 6b92a27195e21e9d96ce2f324c3da593a01a7ae0 Mon Sep 17 00:00:00 2001
From: Ludwig Nussel <ludwig.nussel@suse.de>
Date: Tue, 29 Sep 2009 11:09:31 +0200
Subject: [PATCH] Fail if piped input is broken.
---
ChangeLog | 1 +
lib/utils.c | 13 ++++++++++---
2 files changed, 11 insertions(+), 3 deletions(-)
Index: cryptsetup-1.0.7/lib/utils.c
===================================================================
--- cryptsetup-1.0.7.orig/lib/utils.c
+++ cryptsetup-1.0.7/lib/utils.c
@@ -452,6 +452,8 @@ int get_key(char *prompt, char **key, un
@@ -361,6 +361,7 @@ int get_key(char *prompt, char **key, un
char *pass = NULL;
int newline_stop;
int read_horizon;
+ int regular_file = 0;
if(key_file && !strcmp(key_file, "-")) {
/* Allow binary reading from stdin */
@@ -435,6 +436,8 @@ int get_key(char *prompt, char **key, un
// goto out_err;
fprintf(stderr,"Warning: exhausting read requested, but key file is not a regular file, function might never return.\n");
}
+ else
+ regular_file = 1;
}
buflen = 0;
for(i = 0; read_horizon == 0 || i < read_horizon; i++) {
@@ -452,6 +455,10 @@ int get_key(char *prompt, char **key, un
}
if(key_file)
close(fd);
+ if(!i) // we didn't read anything, user pressed ^D?
+ /* Fail if piped input dies reading nothing */
+ if(!i && !regular_file) {
+ goto out_err;
+ }
pass[i] = 0;
*key = pass;
*passLen = i;

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Tue Sep 29 11:25:58 UTC 2009 - lnussel@suse.de
- replace patch that quits on EOF with upstream version
-------------------------------------------------------------------
Fri Sep 25 12:42:23 UTC 2009 - lnussel@suse.de

View File

@ -30,7 +30,7 @@ License: BSD 3-clause (or similar) ; GPL v2 only ; GPL v2 or later
Group: System/Base
AutoReqProv: on
Version: 1.0.7
Release: 6
Release: 7
Summary: Set Up dm-crypt Based Encrypted Block Devices
Source: cryptsetup-%{version}.tar.bz2
Source1: hashalot-%haver.tar.bz2