Merge pull request #109 from Diadlo/fixUB

Fix several undefined behaviors
This commit is contained in:
van Hauser 2016-04-10 13:17:12 +02:00
commit 76c2f93a2c
4 changed files with 32 additions and 7 deletions

View file

@ -177,7 +177,11 @@ int start_imap(int s, char *ip, int port, unsigned char options, char *miscptr,
break; break;
} }
hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer)); hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer));
sprintf(buffer, "%.250s\r\n", buffer);
char tmp_buffer[sizeof(buffer)];
sprintf(tmp_buffer, "%.250s\r\n", buffer);
strcpy(buffer, tmp_buffer);
free(preplogin); free(preplogin);
} }
break; break;

View file

@ -113,7 +113,11 @@ int start_nntp(int s, char *ip, int port, unsigned char options, char *miscptr,
memset(buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
sasl_plain(buffer, login, pass); sasl_plain(buffer, login, pass);
sprintf(buffer, "%.250s\r\n", buffer);
char tmp_buffer[sizeof(buffer)];
sprintf(tmp_buffer, "%.250s\r\n", buffer);
strcpy(buffer, tmp_buffer);
break; break;
#ifdef LIBOPENSSL #ifdef LIBOPENSSL
case AUTH_CRAMMD5:{ case AUTH_CRAMMD5:{
@ -147,7 +151,10 @@ int start_nntp(int s, char *ip, int port, unsigned char options, char *miscptr,
sprintf(buffer, "%s %.250s", preplogin, buffer2); sprintf(buffer, "%s %.250s", preplogin, buffer2);
hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer)); hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer));
sprintf(buffer, "%.250s\r\n", buffer);
char tmp_buffer[sizeof(buffer)];
sprintf(tmp_buffer, "%.250s\r\n", buffer);
strcpy(buffer, tmp_buffer);
free(preplogin); free(preplogin);
} }
break; break;

View file

@ -205,7 +205,10 @@ int start_pop3(int s, char *ip, int port, unsigned char options, char *miscptr,
memset(buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
sasl_plain(buffer, login, pass); sasl_plain(buffer, login, pass);
sprintf(buffer, "%.250s\r\n", buffer);
char tmp_buffer[sizeof(buffer)];
sprintf(tmp_buffer, "%.250s\r\n", buffer);
strcpy(buffer, tmp_buffer);
} }
break; break;
@ -279,7 +282,10 @@ int start_pop3(int s, char *ip, int port, unsigned char options, char *miscptr,
break; break;
} }
hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer)); hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer));
sprintf(buffer, "%.250s\r\n", buffer);
char tmp_buffer[sizeof(buffer)];
sprintf(tmp_buffer, "%.250s\r\n", buffer);
strcpy(buffer, tmp_buffer);
free(preplogin); free(preplogin);
} }
break; break;

View file

@ -69,7 +69,11 @@ int start_smtp(int s, char *ip, int port, unsigned char options, char *miscptr,
memset(buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
sasl_plain(buffer, login, pass); sasl_plain(buffer, login, pass);
sprintf(buffer, "%.250s\r\n", buffer);
char tmp_buffer[sizeof(buffer)];
sprintf(tmp_buffer, "%.250s\r\n", buffer);
strcpy(buffer, tmp_buffer);
break; break;
#ifdef LIBOPENSSL #ifdef LIBOPENSSL
@ -103,7 +107,11 @@ int start_smtp(int s, char *ip, int port, unsigned char options, char *miscptr,
sprintf(buffer, "%s %.250s", preplogin, buffer2); sprintf(buffer, "%s %.250s", preplogin, buffer2);
hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer)); hydra_tobase64((unsigned char *) buffer, strlen(buffer), sizeof(buffer));
sprintf(buffer, "%.250s\r\n", buffer);
char tmp_buffer[sizeof(buffer)];
sprintf(tmp_buffer, "%.250s\r\n", buffer);
strcpy(buffer, tmp_buffer);
free(preplogin); free(preplogin);
} }
break; break;