1 diff -Nru rpm-4.1/lib/rpmrc.c rpm-4.1.new/lib/rpmrc.c
2 --- rpm-4.1/lib/rpmrc.c Tue Aug 20 16:53:44 2002
3 +++ rpm-4.1.new/lib/rpmrc.c Tue Mar 11 18:41:48 2003
4 @@ -1756,27 +1756,39 @@
5 /* Expand ~/ to $HOME/ */
7 if (r[0] == '~' && r[1] == '/') {
8 + const char * etc_dir = getenv("HOME_ETC");
9 const char * home = getenv("HOME");
12 + if (strlen(etc_dir) > (sizeof(fn) - strlen(r))) {
13 + rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME_ETC is too large.\n"),r);
17 + strcpy(fn, etc_dir);
18 + strncat(fn, "/", sizeof(fn) - strlen(fn));
23 /* XXX Only /usr/lib/rpm/rpmrc must exist in default rcfiles list */
24 - if (rcfiles == defrcfiles && myrcfiles != r)
26 - rpmError(RPMERR_RPMRC, _("Cannot expand %s\n"), r);
30 - if (strlen(home) > (sizeof(fn) - strlen(r))) {
31 - rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME is too large.\n"),
32 + if (rcfiles == defrcfiles && myrcfiles != r)
34 + rpmError(RPMERR_RPMRC, _("Cannot expand %s\n"), r);
38 + if (strlen(home) > (sizeof(fn) - strlen(r))) {
39 + rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME is too large.\n"),
47 - strncat(fn, r, sizeof(fn) - (strlen(fn) + 1));
48 - fn[sizeof(fn)-1] = '\0';
57 + strncat(fn, r, sizeof(fn) - (strlen(fn) + 1));
58 + fn[sizeof(fn)-1] = '\0';
59 /* Read another rcfile */
60 fd = Fopen(fn, "r.fpio");
61 if (fd == NULL || Ferror(fd)) {
62 --- rpm-4.4.5/po/pl.po.orig 2006-02-28 20:32:10.457815000 +0100
63 +++ rpm-4.4.5/po/pl.po 2006-02-28 21:31:38.132780750 +0100
64 @@ -3188,6 +3188,10 @@
65 msgid "bad option '%s' at %s:%d\n"
66 msgstr "b³êdna opcja '%s' w %s:%d\n"
69 +msgid "Cannot read %s, HOME_ETC is too large.\n"
70 +msgstr "Nie mo¿na odczytaæ %s, HOME_ETC jest zbyt du¿e.\n"
74 msgid "Cannot expand %s\n"