sms: Arguments check
authorPaul Kocialkowski <contact@paulk.fr>
Mon, 4 Aug 2014 12:17:57 +0000 (14:17 +0200)
committerPaul Kocialkowski <contact@paulk.fr>
Mon, 4 Aug 2014 12:18:06 +0000 (14:18 +0200)
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
samsung-ipc/sms.c

index 0e0c807..a93c5d9 100644 (file)
@@ -180,6 +180,9 @@ size_t ipc_sms_svc_center_addr_smsc_size_extract(const void *data, size_t size)
 {
     struct ipc_sms_svc_center_addr_header *header;
 
+    if (data == NULL || size < sizeof(struct ipc_sms_svc_center_addr_header))
+        return 0;
+
     header = (struct ipc_sms_svc_center_addr_header *) data;
     if (header->length == 0 || header->length > size - sizeof(struct ipc_sms_svc_center_addr_header))
         return 0;
@@ -192,6 +195,9 @@ void *ipc_sms_svc_center_addr_smsc_extract(const void *data, size_t size)
     struct ipc_sms_svc_center_addr_header *header;
     void *smsc;
 
+    if (data == NULL || size < sizeof(struct ipc_sms_svc_center_addr_header))
+        return NULL;
+
     header = (struct ipc_sms_svc_center_addr_header *) data;
     if (header->length == 0 || header->length > size - sizeof(struct ipc_sms_svc_center_addr_header))
         return NULL;