]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
don't write to buffer we're reading from
authorAlan T. DeKok <aland@freeradius.org>
Wed, 20 Sep 2023 00:25:33 +0000 (20:25 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 20 Sep 2023 00:25:33 +0000 (20:25 -0400)
src/lib/unlang/compile.c

index b0490e7ae8e23c7f69a2d3b6d9831e6a2294d0df..cb677c8b68e3cc1c9eb376e64af569b806d0a749 100644 (file)
@@ -1010,8 +1010,8 @@ static unlang_t *compile_update_to_edit(unlang_t *parent, unlang_compile_t *unla
        CONF_SECTION            *group;
        unlang_group_t          *g;
        char                    list_buffer[32];
-       char                    value_buffer[1024];
-       char                    attr_buffer[2048];
+       char                    value_buffer[256];
+       char                    attr_buffer[256];
        char const              *list;
 
        g = unlang_generic_to_group(parent);
@@ -1173,9 +1173,9 @@ static unlang_t *compile_update_to_edit(unlang_t *parent, unlang_compile_t *unla
 
                pair_op:
                        fr_assert(*attr != '&');
-                       snprintf(attr_buffer, sizeof(attr_buffer), "%s.%s", list, attr);
+                       snprintf(value_buffer, sizeof(value_buffer), "%s.%s", list, attr);
 
-                       rcode = edit_pair_alloc(group, cp, attr_buffer, op, value, T_INVALID);
+                       rcode = edit_pair_alloc(group, cp, value_buffer, op, value, T_INVALID);
                        break;
 
                case T_OP_ADD_EQ: