mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-29 01:03:57 +03:00
buffer: Cleanup buffer_verify
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
41
src/buffer.c
41
src/buffer.c
@@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
@@ -54,24 +55,38 @@
|
|||||||
*
|
*
|
||||||
* @param[in] buf The buffer to check.
|
* @param[in] buf The buffer to check.
|
||||||
*/
|
*/
|
||||||
static void buffer_verify(ssh_buffer buf){
|
static void buffer_verify(ssh_buffer buf)
|
||||||
int doabort=0;
|
{
|
||||||
if(buf->data == NULL)
|
bool do_abort = false;
|
||||||
|
|
||||||
|
if (buf->data == NULL) {
|
||||||
return;
|
return;
|
||||||
if(buf->used > buf->allocated){
|
|
||||||
fprintf(stderr,"Buffer error : allocated %u, used %u\n",buf->allocated, buf->used);
|
|
||||||
doabort=1;
|
|
||||||
}
|
}
|
||||||
if(buf->pos > buf->used){
|
|
||||||
fprintf(stderr,"Buffer error : position %u, used %u\n",buf->pos, buf->used);
|
if (buf->used > buf->allocated) {
|
||||||
doabort=1;
|
fprintf(stderr,
|
||||||
|
"BUFFER ERROR: allocated %u, used %u\n",
|
||||||
|
buf->allocated,
|
||||||
|
buf->used);
|
||||||
|
do_abort = true;
|
||||||
}
|
}
|
||||||
if(buf->pos > buf->allocated){
|
if (buf->pos > buf->used) {
|
||||||
fprintf(stderr,"Buffer error : position %u, allocated %u\n",buf->pos, buf->allocated);
|
fprintf(stderr,
|
||||||
doabort=1;
|
"BUFFER ERROR: position %u, used %u\n",
|
||||||
|
buf->pos,
|
||||||
|
buf->used);
|
||||||
|
do_abort = true;
|
||||||
}
|
}
|
||||||
if(doabort)
|
if (buf->pos > buf->allocated) {
|
||||||
|
fprintf(stderr,
|
||||||
|
"BUFFER ERROR: position %u, allocated %u\n",
|
||||||
|
buf->pos,
|
||||||
|
buf->allocated);
|
||||||
|
do_abort = true;
|
||||||
|
}
|
||||||
|
if (do_abort) {
|
||||||
abort();
|
abort();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user