aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2013-12-08 00:06:15 +0800
committerLAN-TW <lantw44@gmail.com>2013-12-08 00:06:15 +0800
commita464ef5069efe62074a5b4d6af8e3e831bc52bd0 (patch)
tree2c646fcf2e988ec26f16905b58e03eef76a9a1e7
parent06159197d374e33d37aaaaed2b8b603cd65a270d (diff)
downloadl4basic-a464ef5069efe62074a5b4d6af8e3e831bc52bd0.tar
l4basic-a464ef5069efe62074a5b4d6af8e3e831bc52bd0.tar.gz
l4basic-a464ef5069efe62074a5b4d6af8e3e831bc52bd0.tar.bz2
l4basic-a464ef5069efe62074a5b4d6af8e3e831bc52bd0.tar.lz
l4basic-a464ef5069efe62074a5b4d6af8e3e831bc52bd0.tar.xz
l4basic-a464ef5069efe62074a5b4d6af8e3e831bc52bd0.tar.zst
l4basic-a464ef5069efe62074a5b4d6af8e3e831bc52bd0.zip
Check NULL pointer before unref
-rw-r--r--l4array.c6
-rw-r--r--l4array2.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/l4array.c b/l4array.c
index 99e0aa4..a4a5243 100644
--- a/l4array.c
+++ b/l4array.c
@@ -103,6 +103,9 @@ void* lbs_array_ref_generic (void* array_generic) {
}
void lbs_array_unref_generic (void* array_generic) {
+ if (array_generic == NULL) {
+ return;
+ }
LbsArray* array = LBS_ARRAY (array_generic);
array->ref_count--;
if (array->ref_count <= 0) {
@@ -111,6 +114,9 @@ void lbs_array_unref_generic (void* array_generic) {
}
void lbs_array_free_generic (void* array_generic) {
+ if (array_generic == NULL) {
+ return;
+ }
LbsArray* array = LBS_ARRAY (array_generic);
if (array->free_func != NULL) {
int i = 0;
diff --git a/l4array2.c b/l4array2.c
index d1f1b99..f066cf4 100644
--- a/l4array2.c
+++ b/l4array2.c
@@ -37,6 +37,9 @@ void* lbs_array2_ref_generic (void* array2_generic) {
}
void lbs_array2_unref_generic (void* array2_generic) {
+ if (array2_generic == NULL) {
+ return;
+ }
LbsArray2* array2 = LBS_ARRAY2 (array2_generic);
array2->ref_count--;
if (array2->ref_count <= 0) {