]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Use the return value of isc_task_create()
authorAram Sargsyan <aram@isc.org>
Tue, 27 Sep 2022 08:52:10 +0000 (08:52 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Tue, 27 Sep 2022 12:22:34 +0000 (12:22 +0000)
Improve the error handling by checking the isc_task_create()
function's return value.

CID 356329:

    /bin/dnssec/dnssec-signzone.c: 3732 in main()
    3726      if (directory == NULL) {
    3727      directory = ".";
    3728      }
    3729
    3730      isc_managers_create(&mctx, ntasks, &loopmgr, &netmgr, &taskmgr);
    3731
    >>>     CID 356329:  Error handling issues  (CHECKED_RETURN)
    >>>     Calling "isc__task_create" without checking return value (as is done elsewhere 16 out of 18 times).
    3732      isc_task_create(taskmgr, &write_task, 0);
    3733
    3734      result = dst_lib_init(mctx, engine);
    3735      if (result != ISC_R_SUCCESS) {
    3736      fatal("could not initialize dst: %s",
    3737

bin/dnssec/dnssec-signzone.c

index 31697dc500408422e069c069eb88943fcd06534e..4c615b52eb199b816dba6e929c986f607544a046 100644 (file)
@@ -3729,7 +3729,10 @@ main(int argc, char *argv[]) {
 
        isc_managers_create(&mctx, ntasks, &loopmgr, &netmgr, &taskmgr);
 
-       isc_task_create(taskmgr, &write_task, 0);
+       result = isc_task_create(taskmgr, &write_task, 0);
+       if (result != ISC_R_SUCCESS) {
+               fatal("failed to create task: %s", isc_result_totext(result));
+       }
 
        result = dst_lib_init(mctx, engine);
        if (result != ISC_R_SUCCESS) {