]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
pstore: Use scnprintf() in pstore_mkfile()
authorMark Salyzyn <salyzyn@android.com>
Tue, 6 Jan 2015 19:18:24 +0000 (11:18 -0800)
committerTony Luck <tony.luck@intel.com>
Fri, 16 Jan 2015 23:30:50 +0000 (15:30 -0800)
No guarantees that the names will not exceed the
name buffer with future adjustments.

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
fs/pstore/inode.c

index 50416602774d896f2523ee05e49bb2a1c647e1ce..d69586f09ffde0e03f92b4d0e767db8f6f0a5212 100644 (file)
@@ -338,32 +338,35 @@ int pstore_mkfile(enum pstore_type_id type, char *psname, u64 id, int count,
 
        switch (type) {
        case PSTORE_TYPE_DMESG:
-               sprintf(name, "dmesg-%s-%lld%s", psname, id,
-                                               compressed ? ".enc.z" : "");
+               scnprintf(name, sizeof(name), "dmesg-%s-%lld%s",
+                         psname, id, compressed ? ".enc.z" : "");
                break;
        case PSTORE_TYPE_CONSOLE:
-               sprintf(name, "console-%s-%lld", psname, id);
+               scnprintf(name, sizeof(name), "console-%s-%lld", psname, id);
                break;
        case PSTORE_TYPE_FTRACE:
-               sprintf(name, "ftrace-%s-%lld", psname, id);
+               scnprintf(name, sizeof(name), "ftrace-%s-%lld", psname, id);
                break;
        case PSTORE_TYPE_MCE:
-               sprintf(name, "mce-%s-%lld", psname, id);
+               scnprintf(name, sizeof(name), "mce-%s-%lld", psname, id);
                break;
        case PSTORE_TYPE_PPC_RTAS:
-               sprintf(name, "rtas-%s-%lld", psname, id);
+               scnprintf(name, sizeof(name), "rtas-%s-%lld", psname, id);
                break;
        case PSTORE_TYPE_PPC_OF:
-               sprintf(name, "powerpc-ofw-%s-%lld", psname, id);
+               scnprintf(name, sizeof(name), "powerpc-ofw-%s-%lld",
+                         psname, id);
                break;
        case PSTORE_TYPE_PPC_COMMON:
-               sprintf(name, "powerpc-common-%s-%lld", psname, id);
+               scnprintf(name, sizeof(name), "powerpc-common-%s-%lld",
+                         psname, id);
                break;
        case PSTORE_TYPE_UNKNOWN:
-               sprintf(name, "unknown-%s-%lld", psname, id);
+               scnprintf(name, sizeof(name), "unknown-%s-%lld", psname, id);
                break;
        default:
-               sprintf(name, "type%d-%s-%lld", type, psname, id);
+               scnprintf(name, sizeof(name), "type%d-%s-%lld",
+                         type, psname, id);
                break;
        }