Lei Zhang : regedit: Correctly parse key name containing ']' when deleting/ exporting.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Mar 2 06:14:29 CST 2007


Module: wine
Branch: master
Commit: 4de636208f503cce544cebd2564143635b41c462
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4de636208f503cce544cebd2564143635b41c462

Author: Lei Zhang <thestig at google.com>
Date:   Thu Mar  1 16:34:42 2007 -0800

regedit: Correctly parse key name containing ']' when deleting/exporting.

---

 programs/regedit/regproc.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index 6c8e3a5..16a2b8c 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -449,12 +449,16 @@ LPSTR getRegKeyName(LPSTR lpLine)
 
     keyNameBeg = strchr(lpLineCopy, '\\');    /* The key name start by '\' */
     if (keyNameBeg) {
-        LPSTR keyNameEnd;
-
         keyNameBeg++;                             /* is not part of the name */
-        keyNameEnd = strrchr(lpLineCopy, ']');
-        if (keyNameEnd) {
-            *keyNameEnd = '\0';               /* remove ']' from the key name */
+
+        if (lpLine[0] == '[') /* need to find matching ']' */
+        {
+            LPSTR keyNameEnd;
+
+            keyNameEnd = strrchr(lpLineCopy, ']');
+            if (keyNameEnd) {
+                *keyNameEnd = '\0';               /* remove ']' from the key name */
+            }
         }
     } else {
         keyNameBeg = lpLineCopy + strlen(lpLineCopy); /* branch - empty string */




More information about the wine-cvs mailing list