Module: wine
Branch: master
Commit: e58a67e9cd19bc1aef646e8f3fadaf0c490b38de
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e58a67e9cd19bc1aef646e8f3…
Author: Hans Leidekker <hans(a)codeweavers.com>
Date: Fri Sep 24 17:09:04 2010 +0200
msi: Avoid accessing memory before the left hand string in compare_substring.
---
dlls/msi/cond.y | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/cond.y b/dlls/msi/cond.y
index 9a7a16d..03ea493 100644
--- a/dlls/msi/cond.y
+++ b/dlls/msi/cond.y
@@ -462,11 +462,21 @@ static INT compare_substring( LPCWSTR a, INT operator, LPCWSTR b )
case COND_LHS:
return 0 == strncmpW( a, b, lstrlenW( b ) );
case COND_RHS:
- return 0 == lstrcmpW( a + (lstrlenW( a ) - lstrlenW( b )), b );
+ {
+ int l = lstrlenW( a );
+ int r = lstrlenW( b );
+ if (r > l) return 0;
+ return 0 == lstrcmpW( a + (l - r), b );
+ }
case COND_ILHS:
return 0 == strncmpiW( a, b, lstrlenW( b ) );
case COND_IRHS:
- return 0 == lstrcmpiW( a + (lstrlenW( a ) - lstrlenW( b )), b );
+ {
+ int l = lstrlenW( a );
+ int r = lstrlenW( b );
+ if (r > l) return 0;
+ return 0 == lstrcmpiW( a + (l - r), b );
+ }
default:
ERR("invalid substring operator\n");
return 0;
Module: wine
Branch: master
Commit: fe7cfdcb1527f53d18bc65ae48a6db41ef5540b0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe7cfdcb1527f53d18bc65ae4…
Author: Matej Špindler <spindler.matej(a)gmail.com>
Date: Fri Sep 24 10:48:28 2010 +0200
taskkill: Add Slovenian translation.
---
programs/taskkill/Makefile.in | 1 +
programs/taskkill/Si.rc | 43 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/programs/taskkill/Makefile.in b/programs/taskkill/Makefile.in
index e24df64..7af915e 100644
--- a/programs/taskkill/Makefile.in
+++ b/programs/taskkill/Makefile.in
@@ -13,6 +13,7 @@ RC_SRCS = \
Ko.rc \
Lt.rc \
Nl.rc \
+ Si.rc \
Sv.rc
@MAKE_PROG_RULES@
diff --git a/programs/taskkill/Si.rc b/programs/taskkill/Si.rc
new file mode 100644
index 0000000..b278544
--- /dev/null
+++ b/programs/taskkill/Si.rc
@@ -0,0 +1,43 @@
+/*
+ * Task termination utility
+ * Slovenian language support
+ *
+ * Copyright 2010 Matej Špindler
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "taskkill.h"
+
+#pragma code_page(65001)
+
+LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
+
+STRINGTABLE
+{
+ STRING_USAGE, "Uporaba: taskkill [/?] [/f] [/im ImeProcesa | /pid IDProcesa]\n"
+ STRING_INVALID_OPTION, "Napaka: Nepoznana ali nepopolna ukazna vrstica.\n"
+ STRING_INVALID_PARAM, "Napaka: Nepravilen parameter ukazne vrstice.\n"
+ STRING_MISSING_OPTION, "Napaka: Ena izmed opcija /im ali /pid mora biti izbrana.\n"
+ STRING_MISSING_PARAM, "Napaka: Opcija %s pričakuje parameter v ukazni vstici.\n"
+ STRING_MUTUAL_EXCLUSIVE, "Napaka: Opciji /im in /pid se izključujeta.\n"
+ STRING_CLOSE_PID_SEARCH, "Sporočilo zapri poslano vrhnjemu oknu procesa s PID %u.\n"
+ STRING_CLOSE_PROC_SRCH, "Sporočilo zapri poslano vrhnjemu oknu procesa \"%s\" s PID %u.\n"
+ STRING_TERM_PID_SEARCH, "Proces s PID %u je bil prisilno končan.\n"
+ STRING_TERM_PROC_SEARCH, "Proces \"%s\" s PID %u je bil prisilno končan.\n"
+ STRING_SEARCH_FAILED, "Napaka: Procesa \"%s\" ni mogoče najti.\n"
+ STRING_ENUM_FAILED, "Napaka: Ne morem dobiti seznama procesov.\n"
+ STRING_TERMINATE_FAILED, "Napaka: Procesa \"%s\" ni mogoče končati.\n"
+}