Don't convert strings to integers, just check that they could be converted.
[mirror/userdir-ldap.git] / ud-userimport
index 3e926ec..f2e0ba1 100755 (executable)
@@ -83,8 +83,10 @@ def DoPasswd(l,Passwd):
 
       Split = re.split("[:\n]",Line);
       (Split[4],cn,mn,sn) = ParseGecos(Split[4]);
-      Split[2] = int(Split[2])
-      Split[3] = int(Split[3])
+      # This just tests whether these are integers and throws an
+      # exception if not
+      int(Split[2])
+      int(Split[3])
       Rec = [("uid",Split[0]),
              ("uidNumber",Split[2]),
              ("gidNumber",Split[3]),
@@ -106,8 +108,8 @@ def DoPasswd(l,Passwd):
 
       if (DoAdd == 1):
          try:
-            AddRec = Rec
-            Rec.append(("objectClass", UserObjectClasses))
+            AddRec = Rec[:]
+            AddRec.append(("objectClass", UserObjectClasses))
             l.add_s(Dn,AddRec)
             DoModify = False