projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
e_aes.c: uninitialized variable in aes_ccm_init_key.
[oweals/openssl.git]
/
crypto
/
ui
/
ui_openssl.c
diff --git
a/crypto/ui/ui_openssl.c
b/crypto/ui/ui_openssl.c
index 8eabb850ff9c70516b63e9113916d2f360acbbed..a38c7581e6a0ca10376d05fc9994f4c74a41128a 100644
(file)
--- a/
crypto/ui/ui_openssl.c
+++ b/
crypto/ui/ui_openssl.c
@@
-122,7
+122,15
@@
* sigaction and fileno included. -pedantic would be more appropriate for
* the intended purposes, but we can't prevent users from adding -ansi.
*/
* sigaction and fileno included. -pedantic would be more appropriate for
* the intended purposes, but we can't prevent users from adding -ansi.
*/
-#define _POSIX_C_SOURCE 1
+#if defined(OPENSSL_SYSNAME_VXWORKS)
+#include <sys/types.h>
+#endif
+
+#if !defined(_POSIX_C_SOURCE) && defined(OPENSSL_SYS_VMS)
+#ifndef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 2
+#endif
+#endif
#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <stdio.h>
#include <string.h>
@@
-297,7
+305,7
@@
static int is_a_tty;
/* Declare static functions */
#if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE)
/* Declare static functions */
#if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE)
-static
void
read_till_nl(FILE *);
+static
int
read_till_nl(FILE *);
static void recsig(int);
static void pushsig(void);
static void popsig(void);
static void recsig(int);
static void pushsig(void);
static void popsig(void);
@@
-390,14
+398,16
@@
static int read_string(UI *ui, UI_STRING *uis)
#if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE)
/* Internal functions to read a string without echoing */
#if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE)
/* Internal functions to read a string without echoing */
-static
void
read_till_nl(FILE *in)
+static
int
read_till_nl(FILE *in)
{
#define SIZE 4
char buf[SIZE+1];
do {
{
#define SIZE 4
char buf[SIZE+1];
do {
- fgets(buf,SIZE,in);
+ if (!fgets(buf,SIZE,in))
+ return 0;
} while (strchr(buf,'\n') == NULL);
} while (strchr(buf,'\n') == NULL);
+ return 1;
}
static volatile sig_atomic_t intr_signal;
}
static volatile sig_atomic_t intr_signal;
@@
-445,7
+455,8
@@
static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl)
*p='\0';
}
else
*p='\0';
}
else
- read_till_nl(tty_in);
+ if (!read_till_nl(tty_in))
+ goto error;
if (UI_set_result(ui, uis, result) >= 0)
ok=1;
if (UI_set_result(ui, uis, result) >= 0)
ok=1;
@@
-677,6
+688,8
@@
static int noecho_fgets(char *buf, int size, FILE *tty)
size--;
#ifdef WIN16TTY
i=_inchar();
size--;
#ifdef WIN16TTY
i=_inchar();
+#elif defined(_WIN32)
+ i=_getch();
#else
i=getch();
#endif
#else
i=getch();
#endif