]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(skipcpio): calculate and use CPIO_MAGIC_LEN
authorShreenidhi Shedi <sshedi@vmware.com>
Wed, 25 Aug 2021 09:38:40 +0000 (15:08 +0530)
committerJóhann B. Guðmundsson <johannbg@gmail.com>
Fri, 27 Aug 2021 17:25:35 +0000 (17:25 +0000)
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
src/skipcpio/skipcpio.c

index 89cc354915dec17bf9843667f7650289797bf784..13bfaf53656498aa22a96641f29f6ce78a43e9e3 100644 (file)
@@ -28,6 +28,7 @@
 #include <string.h>
 
 #define CPIO_MAGIC "070701"
+#define CPIO_MAGIC_LEN (sizeof(CPIO_MAGIC) - 1)
 
 #define CPIO_END "TRAILER!!!"
 #define CPIO_ENDLEN (sizeof(CPIO_END) - 1)
@@ -41,7 +42,7 @@
                 __func__, ##__VA_ARGS__)
 
 struct cpio_header {
-        char c_magic[6];
+        char c_magic[CPIO_MAGIC_LEN];
         char c_ino[8];
         char c_mode[8];
         char c_uid[8];
@@ -103,7 +104,7 @@ int main(int argc, char **argv)
         }
 
         /* check, if this is a cpio archive */
-        if (memcmp(buf.cpio.h.c_magic, CPIO_MAGIC, 6)) {
+        if (memcmp(buf.cpio.h.c_magic, CPIO_MAGIC, CPIO_MAGIC_LEN)) {
                 goto cat_rest;
         }
 
@@ -138,7 +139,7 @@ int main(int argc, char **argv)
                         goto end;
                 }
 
-                if (memcmp(buf.cpio.h.c_magic, CPIO_MAGIC, 6)) {
+                if (memcmp(buf.cpio.h.c_magic, CPIO_MAGIC, CPIO_MAGIC_LEN)) {
                         pr_err("Corrupt CPIO archive!\n");
                         goto end;
                 }