]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
uuidparse:fix stack-buffer-overflow [asan]
authorKarel Zak <kzak@redhat.com>
Fri, 15 Sep 2017 11:30:45 +0000 (13:30 +0200)
committerKarel Zak <kzak@redhat.com>
Fri, 15 Sep 2017 11:30:45 +0000 (13:30 +0200)
Reported-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
misc-utils/uuidparse.c

index 19bb3f1b919308482f61f1de6623216b189c59be..08ba334156b4ff76a359c5a7589d74878dad8cf9 100644 (file)
@@ -45,6 +45,7 @@
 #include <string.h>
 #include <time.h>
 #include <unistd.h>
+#include <uuid.h>
 
 #include "c.h"
 #include "closestream.h"
@@ -52,7 +53,6 @@
 #include "optutils.h"
 #include "strutils.h"
 #include "timeutils.h"
-#include "uuid.h"
 #include "xalloc.h"
 
 /* column IDs */
@@ -279,8 +279,7 @@ static void print_output(struct control const *const ctrl, int argc,
        if (i == 0) {
                char uuid[UUID_STR_LEN];
 
-               while (scanf(" %" stringify_value(UUID_STR_LEN)
-                            "[^ \t\n]%*c", uuid) && !feof(stdin))
+               while (scanf(" %36[^ \t\n]%*c", uuid) && !feof(stdin))
                        fill_table_row(tb, uuid);
        }
        scols_print_table(tb);