]> git.ipfire.org Git - thirdparty/git.git/blobdiff - imap-send.c
short i/o: fix calls to read to use xread or read_in_full
[thirdparty/git.git] / imap-send.c
index 894cbbdf53ccf4728276b46b9491f409f3b9e03b..8de19e3cc667dd08db529a874d59614183c8dbb7 100644 (file)
@@ -96,8 +96,8 @@ typedef struct {
 
 static int Verbose, Quiet;
 
-static void info( const char *, ... );
-static void warn( const char *, ... );
+static void imap_info( const char *, ... );
+static void imap_warn( const char *, ... );
 
 static char *next_arg( char ** );
 
@@ -224,7 +224,7 @@ socket_perror( const char *func, Socket_t *sock, int ret )
 static int
 socket_read( Socket_t *sock, char *buf, int len )
 {
-       int n = read( sock->fd, buf, len );
+       int n = xread( sock->fd, buf, len );
        if (n <= 0) {
                socket_perror( "read", sock, n );
                close( sock->fd );
@@ -297,7 +297,7 @@ buffer_gets( buffer_t * b, char **s )
 }
 
 static void
-info( const char *msg, ... )
+imap_info( const char *msg, ... )
 {
        va_list va;
 
@@ -310,7 +310,7 @@ info( const char *msg, ... )
 }
 
 static void
-warn( const char *msg, ... )
+imap_warn( const char *msg, ... )
 {
        va_list va;
 
@@ -390,7 +390,7 @@ arc4_init( void )
                fprintf( stderr, "Fatal: no random number source available.\n" );
                exit( 3 );
        }
-       if (read( fd, dat, 128 ) != 128) {
+       if (read_in_full( fd, dat, 128 ) != 128) {
                fprintf( stderr, "Fatal: cannot read random number source.\n" );
                exit( 3 );
        }
@@ -903,7 +903,7 @@ imap_open_store( imap_server_conf_t *srvc )
        /* open connection to IMAP server */
 
        if (srvc->tunnel) {
-               info( "Starting tunnel '%s'... ", srvc->tunnel );
+               imap_info( "Starting tunnel '%s'... ", srvc->tunnel );
 
                if (socketpair( PF_UNIX, SOCK_STREAM, 0, a )) {
                        perror( "socketpair" );
@@ -926,31 +926,31 @@ imap_open_store( imap_server_conf_t *srvc )
 
                imap->buf.sock.fd = a[1];
 
-               info( "ok\n" );
+               imap_info( "ok\n" );
        } else {
                memset( &addr, 0, sizeof(addr) );
                addr.sin_port = htons( srvc->port );
                addr.sin_family = AF_INET;
 
-               info( "Resolving %s... ", srvc->host );
+               imap_info( "Resolving %s... ", srvc->host );
                he = gethostbyname( srvc->host );
                if (!he) {
                        perror( "gethostbyname" );
                        goto bail;
                }
-               info( "ok\n" );
+               imap_info( "ok\n" );
 
                addr.sin_addr.s_addr = *((int *) he->h_addr_list[0]);
 
                s = socket( PF_INET, SOCK_STREAM, 0 );
 
-               info( "Connecting to %s:%hu... ", inet_ntoa( addr.sin_addr ), ntohs( addr.sin_port ) );
+               imap_info( "Connecting to %s:%hu... ", inet_ntoa( addr.sin_addr ), ntohs( addr.sin_port ) );
                if (connect( s, (struct sockaddr *)&addr, sizeof(addr) )) {
                        close( s );
                        perror( "connect" );
                        goto bail;
                }
-               info( "ok\n" );
+               imap_info( "ok\n" );
 
                imap->buf.sock.fd = s;
 
@@ -979,7 +979,7 @@ imap_open_store( imap_server_conf_t *srvc )
 
        if (!preauth) {
 
-               info ("Logging in...\n");
+               imap_info ("Logging in...\n");
                if (!srvc->user) {
                        fprintf( stderr, "Skipping server %s, no user\n", srvc->host );
                        goto bail;
@@ -1006,7 +1006,7 @@ imap_open_store( imap_server_conf_t *srvc )
                        fprintf( stderr, "Skipping account %s@%s, server forbids LOGIN\n", srvc->user, srvc->host );
                        goto bail;
                }
-               warn( "*** IMAP Warning *** Password is being sent in the clear\n" );
+               imap_warn( "*** IMAP Warning *** Password is being sent in the clear\n" );
                if (imap_exec( ctx, NULL, "LOGIN \"%s\" \"%s\"", srvc->user, srvc->pass ) != RESP_OK) {
                        fprintf( stderr, "IMAP error: LOGIN failed\n" );
                        goto bail;