OSDN Git Service

Ignore quotes in safe_print().
authorJeff Sharkey <jsharkey@android.com>
Fri, 1 Jun 2018 16:49:40 +0000 (10:49 -0600)
committerandroid-build-team Robot <android-build-team-robot@google.com>
Fri, 3 Aug 2018 18:58:40 +0000 (18:58 +0000)
If the value being printed has embedded quotes ("), then printing
those quotes could confuse other tools when parsing the value.

This is the simplest CL to fix the security issue, and we can circle
back to think about more robust escaping in a future CL.

Bug: 80436257
Test: manual
Change-Id: Ica17f2c5701573bceafe34f20110d230a3925483
(cherry picked from commit efe90c297a8df591c051fdbfacb92b5283390bba)

misc/blkid.c

index 96fffae..472f017 100644 (file)
@@ -87,7 +87,9 @@ static void safe_print(const char *cp, int len)
                        fputc('^', stdout);
                        ch ^= 0x40; /* ^@, ^A, ^B; ^? for DEL */
                }
-               fputc(ch, stdout);
+               if (ch != '"') {
+                       fputc(ch, stdout);
+               }
        }
 }