projects
/
csRadar.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed heap-use-after-free in solidgen
[csRadar.git]
/
csrMem.h
diff --git
a/csrMem.h
b/csrMem.h
index dbcc942566e3e5420290cf773f80978709f101d3..25913be651236abce298516b4f570cbc5828fb1d 100644
(file)
--- a/
csrMem.h
+++ b/
csrMem.h
@@
-11,6
+11,14
@@
void *csr_malloc( size_t size )
return ret;
}
return ret;
}
+void *csr_calloc( size_t size )
+{
+ void *ret = calloc( 1, size );
+ if( !ret )
+ exit(1);
+ return ret;
+}
+
void *csr_sb_raw( void *arr )
{
return ((u32 *)arr)-3;
void *csr_sb_raw( void *arr )
{
return ((u32 *)arr)-3;
@@
-42,6
+50,7
@@
void csr_sb_inc( void *arr, u32 amt )
raw[1] += amt;
}
raw[1] += amt;
}
+__attribute__((warn_unused_result))
void *csr_sb_reserve( void *arr, u32 amt, u32 esize )
{
u32 cap = arr? csr_sb_cap( arr ): 0;
void *csr_sb_reserve( void *arr, u32 amt, u32 esize )
{
u32 cap = arr? csr_sb_cap( arr ): 0;
@@
-75,6
+84,14
@@
void csr_sb_free( void *arr )
}
}
}
}
+void csr_sb_clear( void *arr )
+{
+ if( arr )
+ {
+ ((u32 *)csr_sb_raw( arr ))[1] = 0;
+ }
+}
+
// djb2 - Dan Bernstein
unsigned long djb2( unsigned char const *str )
{
// djb2 - Dan Bernstein
unsigned long djb2( unsigned char const *str )
{