summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarsharma <ankitprasad.r.sharma@intel.com>2015-02-23 21:31:07 +0000
committerAdam Jackson <ajax@redhat.com>2016-05-02 09:28:51 -0400
commit201d1a7623c83f611761f67d4411c3c266f8f37a (patch)
tree1993736ed884693e5f0fc3d67737c145d1d99c46
parentaf2fdf1bdc4532410f49fc0854ae4c0f9086cce9 (diff)
device-name: handle calloc failure in insert()
Issue was spotted by Klocwork, and fixed by arsharma as part of Android-ia. Just bail out if memory allocation fails. All the callers of insert() already handle the case. [Emil Velikov: Split from larger patch, write commit message] Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-rw-r--r--src/common_device_name.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/common_device_name.c b/src/common_device_name.c
index a990ac8..3dd35d7 100644
--- a/src/common_device_name.c
+++ b/src/common_device_name.c
@@ -154,6 +154,10 @@ insert( uint16_t vendor )
if ( tree == NULL ) {
tree = calloc( 1, sizeof( struct pci_id_node ) );
+
+ if ( tree == NULL )
+ return NULL;
+
tree->bits = 4;
}
@@ -175,6 +179,9 @@ insert( uint16_t vendor )
struct pci_id_node * child =
calloc( 1, sizeof( struct pci_id_node ) );
+ if ( tree == NULL )
+ return NULL;
+
child->bits = 4;
n->children[ idx ] = child;
@@ -183,6 +190,9 @@ insert( uint16_t vendor )
struct pci_id_leaf * leaf =
calloc( 1, sizeof( struct pci_id_leaf ) );
+ if ( tree == NULL )
+ return NULL;
+
leaf->vendor = vendor;
n->children[ idx ] = (struct pci_id_node *) leaf;