lib/bootloader-zipl: check for errors when opening initrd
authorLuca BRUNO <luca.bruno@coreos.com>
Thu, 13 Oct 2022 10:48:38 +0000 (10:48 +0000)
committerLuca BRUNO <luca.bruno@coreos.com>
Thu, 13 Oct 2022 10:48:38 +0000 (10:48 +0000)
This adds a missing error check when opening an initrd in s390x
Secure Execution (SE) logic.
It was detected by RH internal static checks.

src/libostree/ostree-bootloader-zipl.c

index 05a3b2acdf5bdf16e79b1bda8a328026bae50cdd..c9ca421992675c1a2d05d8f3b65679ef9c1e5aa6 100644 (file)
@@ -273,7 +273,8 @@ _ostree_secure_execution_generate_initrd (const gchar *initrd,
     return glnx_prefix_error (error, "s390x SE: opening new ramdisk");
   {
     glnx_autofd int fd = -1;
-    glnx_openat_rdonly (AT_FDCWD, initrd, TRUE, &fd, error);
+    if (!glnx_openat_rdonly (AT_FDCWD, initrd, TRUE, &fd, error))
+      return glnx_prefix_error (error, "s390x SE: opening initrd");
     if (glnx_regfile_copy_bytes (fd, out_initrd->fd, (off_t) -1) < 0)
       return glnx_throw_errno_prefix (error, "s390x SE: copying ramdisk");
   }