Explorar o código

read_packages( SSL ):
- buff_ptr[bytes_read] = 0 results in Invalid write of size 1
- tot_bytes was calculated wrongly (as rc=0 in last call of SSL_read)

Andreas Baumann %!s(int64=6) %!d(string=hai) anos
pai
achega
89419b5d23
Modificáronse 1 ficheiros con 1 adicións e 4 borrados
  1. 1 4
      src/check_nrpe.c

+ 1 - 4
src/check_nrpe.c

@@ -1594,10 +1594,9 @@ int read_packet(int sock, void *ssl_ptr, v2_packet ** v2_pkt, v3_packet ** v3_pk
 				break;
 				break;
 			bytes_read += rc;
 			bytes_read += rc;
 			bytes_to_recv -= rc;
 			bytes_to_recv -= rc;
+			tot_bytes += rc;
 		}
 		}
 
 
-		buff_ptr[bytes_read] = 0;
-
 		if (rc < 0 || bytes_read != buffer_size) {
 		if (rc < 0 || bytes_read != buffer_size) {
 			if (packet_ver >= NRPE_PACKET_VERSION_3) {
 			if (packet_ver >= NRPE_PACKET_VERSION_3) {
 				free(*v3_pkt);
 				free(*v3_pkt);
@@ -1614,8 +1613,6 @@ int read_packet(int sock, void *ssl_ptr, v2_packet ** v2_pkt, v3_packet ** v3_pk
 				}
 				}
 			}
 			}
 			return -1;
 			return -1;
-		} else {
-			tot_bytes += rc;
 		}
 		}
 	}
 	}
 #endif
 #endif