libaacs | branch: master | npzacs <npz...@gmail.com> | Mon Jan 11 12:51:36 2016 
+0200| [9f3f74051d92c2072b272ed1089751f1220ec997] | committer: npzacs

Check calloc() result

> http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=9f3f74051d92c2072b272ed1089751f1220ec997
---

 src/file/keydbcfg.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/file/keydbcfg.c b/src/file/keydbcfg.c
index d85b88d..76bb0e9 100644
--- a/src/file/keydbcfg.c
+++ b/src/file/keydbcfg.c
@@ -612,6 +612,9 @@ static int _parse_embedded(config_file *cf)
     for (jj = sizeof(internal_dk_list) / sizeof(internal_dk_list[0]) - 1; jj 
>= 0; --jj) {
         dk_list *e = calloc(1, sizeof(dk_list));
 
+        if (!e)
+            break;
+
         decrypt_key(e->key, internal_dk_list[jj], 16);
         e->node = internal_device_number;
         e->uv   = MKINT_BE32(internal_dk_list[jj] + 16);
@@ -630,6 +633,9 @@ static int _parse_embedded(config_file *cf)
     for (ii = 0; ii < sizeof(internal_pk_list) / sizeof(internal_pk_list[0]); 
ii++) {
         pk_list *e = calloc(1, sizeof(pk_list));
 
+        if (!e)
+            break;
+
         decrypt_key(e->key, internal_pk_list[ii], 16);
 
         if (_is_duplicate_pk(cf->pkl, e->key)) {
@@ -645,6 +651,9 @@ static int _parse_embedded(config_file *cf)
     for (ii = 0; ii < sizeof(internal_hc_list) / sizeof(internal_hc_list[0]); 
ii++) {
         cert_list  *e = calloc(1, sizeof(cert_list));
 
+        if (!e)
+            break;
+
         decrypt_key(e->host_priv_key, internal_hc_list[ii],      20);
         decrypt_key(e->host_cert,     internal_hc_list[ii] + 20, 92);
 

_______________________________________________
libaacs-devel mailing list
libaacs-devel@videolan.org
https://mailman.videolan.org/listinfo/libaacs-devel

Reply via email to