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