From a22163cbe74e267bbe307c39c815dbb781acc83a Mon Sep 17 00:00:00 2001 From: FreeArtMan Date: Tue, 21 May 2019 22:21:21 +0100 Subject: Added buffer check function --- netbytes.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'netbytes.c') diff --git a/netbytes.c b/netbytes.c index 1f8433b..3a6dc0a 100644 --- a/netbytes.c +++ b/netbytes.c @@ -690,6 +690,7 @@ int nb_type( netbyte_store *store, int count, __NBT_TYPED **type ) //nbt = (__NBT_TYPED)store->types[count].type; //warnign? who cares //*type = nbt; + #warning "Looks like real error" *type = store->types[count].type; return 0; } @@ -762,6 +763,38 @@ int nb_fread( netbyte_store *store, int fd) return 0; } + +/* +Return: + 1 - looks like data are netbyte buffer + 0 - data isnot netbyte buffer +*/ +int nb_check_buf(uint8_t *data, int len, int *detected_size) +{ + __NBT_SIZE size; + if (len < sizeof(__NBT_SIZE)) + { + printf("if (len > sizeof(__NBT_SIZE))\n"); + return 0; + } + + memcpy(&size, data, sizeof(__NBT_SIZE)); + + if (len