[SSSD] [PATCH] UTIL: Fix access out of bound in parse_args
Lukas Slebodnik
lslebodn at redhat.com
Wed Jun 25 07:54:30 UTC 2014
On (24/06/14 18:07), Pavel Reichl wrote:
>Hello Lukas,
>
>Patch looks OK to me, but I wonder if you could use \t for tabs? This
>code is pain already:-).
I strongly disagree.
Unit test is not terible code. It's nice.
Previously I didn't want to use '\t' instead of tabs because there is lof of
backslashes anyway.
Let's compare
diff --git a/src/tests/util-tests.c b/src/tests/util-tests.c
index 5ef0102..4f47305 100644
--- a/src/tests/util-tests.c
+++ b/src/tests/util-tests.c
@@ -142,7 +142,7 @@ START_TEST(test_parse_args)
const char *parsed7[] = { "foo", "a", "f", NULL };
const char *parsed8[] = { "foo", "a\tg", NULL };
const char *parsed9[] = { "foo", NULL };
- const char *parsed10[] = { " ", "foo", " ", "\\'", NULL };
+ const char *parsed10[] = { " ", "foo", "\t", "\\'", NULL };
const char *parsed11[] = { "a", NULL };
struct pa_testcase tc[] = {
{ "foo", parsed1 },
@@ -151,14 +151,14 @@ START_TEST(test_parse_args)
{ "foo a\\ c", parsed4 },
{ "foo a d ", parsed5 },
{ "foo a e ", parsed6 },
- { "foo a f ", parsed7 },
+ { "foo\ta\t \tf \t", parsed7 },
{ "foo a\\\tg", parsed8 },
{ " foo ", parsed9 },
- { "\\ foo \\ \\' ", parsed10 },
+ { "\\ foo \\\t \\' ", parsed10 },
{ "a", parsed11 },
{ " ", NULL },
{ "", NULL },
- { " ", NULL },
+ { " \t ", NULL },
{ NULL, NULL }
};
Each normal editor can show difference between tabs and spaces
IMO, It looks to me like obfluscation after replacement.
If you really want to do this change I can do it.
I don't mind :-)
LS
PS: In future, try to avoid including html attachments into replies.
>> Summary > Report jvFA5F
>> Bug Summary
>> File:
>> /sssd/bdir/../src/util/util.c
>> Location:
>> line 208, column 22
>> Description:
>> The left operand of '!=' is a
>> garbage value
>> Report Bug
>> Annotated Source Code
>> 1
>> /*
>> 2
>> Authors:
>> 3
>> Simo Sorce <ssorce at redhat.com>
>> 4
>>
>> 5
>> Copyright (C) 2009 Red Hat
>> 6
>>
>> 7
>> This program is free software; you
>> can redistribute it and/or modify
>> 8
>> it under the terms of the GNU
>> General Public License as published
>> by
>> 9
>> the Free Software Foundation;
>> either version 3 of the License, or
>> 10
>> (at your option) any later version.
>> 11
>>
>> 12
>> This program is distributed in the
>> hope that it will be useful,
>> 13
>> but WITHOUT ANY WARRANTY; without
>> even the implied warranty of
>> 14
>> MERCHANTABILITY or FITNESS FOR A
>> PARTICULAR PURPOSE. See the
>> 15
>> GNU General Public License for more
>> details.
>> 16
>>
>> 17
>> You should have received a copy of
>> the GNU General Public License
>> 18
>> along with this program. If not,
>> see <http://www.gnu.org/licenses/>.
>> 19
>> */
>> 20
//2160 lines removed.
More information about the sssd-devel
mailing list