Skip to content

Commit 988bb60

Browse files
authored
Fix security warnings (#28)
1 parent ead39c7 commit 988bb60

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

fieldSetter.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,8 @@ func setSlice(t reflect.Type, v reflect.Value, val string) error {
143143

144144
func setPtrValue(t reflect.Type, v reflect.Value, val string) (err error) {
145145
switch t.Elem().Name() {
146-
case reflect.Int.String(): // doesn't care about 32bit systems
147-
if i64, err := strconv.ParseInt(val, 10, 64); err == nil {
148-
i := int(i64)
146+
case reflect.Int.String():
147+
if i, err := strconv.Atoi(val); err == nil {
149148
v.Set(reflect.ValueOf(&i))
150149
}
151150
case reflect.Int8.String():
@@ -168,9 +167,9 @@ func setPtrValue(t reflect.Type, v reflect.Value, val string) (err error) {
168167
v.Set(reflect.ValueOf(&i64))
169168
}
170169

171-
case reflect.Uint.String(): // doesn't care about 32bit systems
172-
if ui64, err := strconv.ParseUint(val, 10, 64); err == nil {
173-
ui := uint(ui64)
170+
case reflect.Uint.String():
171+
var ui uint
172+
if _, err := fmt.Sscan(val, &ui); err == nil {
174173
v.Set(reflect.ValueOf(&ui))
175174
}
176175
case reflect.Uint8.String():

0 commit comments

Comments
 (0)