[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX'
From: |
Dimitur Kirov |
Subject: |
Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope |
Date: |
Thu, 20 Aug 2009 17:40:46 +0000 |
Yavor Doganov <address@hidden> wrote:
> if (strlen(xpcomPath) < allocated -1)
strlen трябва да се избягва, освен ако не сме сигурни, че xpcomPath
съдържа \0, а като гледам - не сме
реално, ако резултатът от този if е грешка, програмата може да забие,
или да се получи дупка в сигурността.
второто, за което се сещам е, че g_malloc заделя памет, но веднага след
заделянето, тази памет може да има произволно съдържание. т.е. може да
има \0 байт някъде на произволна позиция и ако
GRE_GetGREPathWithProperties не е променила xpcomPath тогава
strlen(xpcomPath) може да е по-малко от 'allocated - 1' Това ще доведе
до грешка в логиката.
Моето предложение е, (ако наистина се налага този алгоритъм) да заделиш с
един байт повече памет и да я зануляваш
* ползвай g_malloc0 вместо g_malloc
* GRE_GetGREPathWithProperties (&greVersion, 1,
nsnull, 0,
xpcomPath,
allocated - 1);
- така ще сме сигурни, че има 0 бит в xpcomPath
* проверка
if (strlen(xpcomPath) < allocated -2)
Не знам по време на цикъла дали NS_FAILED(rv) е истина, в случай че
дължината на пътят е по-малка от 'allocated'. Ако може да използваш
NS_FAILED вместо strlen би било по-добре
- [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Yavor Doganov, 2009/08/20
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope,
Dimitur Kirov <=
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Dimitur Kirov, 2009/08/20
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Yavor Doganov, 2009/08/21
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Dimitur Kirov, 2009/08/21
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Yavor Doganov, 2009/08/21
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Dimitur Kirov, 2009/08/21
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Yavor Doganov, 2009/08/21
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Dimitur Kirov, 2009/08/21
- Re: [kazehakase]: FTBFS под GNU/Hurd: mozilla.cpp:132: error: 'PATH_MAX' was not declared in this scope, Yavor Doganov, 2009/08/21