linux/tools/net/sunrpc/xdrgen/templates/C/union/decoder
Chuck Lever 425364dc49 xdrgen: Fix code generated for counted arrays
When an XDR counted array has a maximum element count, xdrgen adds
a bounds check to the encoder or decoder for that type. But in cases
where the .x provides no maximum element count, such as

struct notify4 {
        /* composed from notify_type4 or notify_deviceid_type4 */
        bitmap4         notify_mask;
        notifylist4     notify_vals;
};

struct CB_NOTIFY4args {
        stateid4    cna_stateid;
        nfs_fh4     cna_fh;
        notify4     cna_changes<>;
};

xdrgen is supposed to omit that bounds check. Some of the Jinja2
templates handle that correctly, but a few are incorrect and leave
the bounds check in place with a maximum of zero, which causes
encoding/decoding of that type to fail unconditionally.

Reported-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2025-05-16 10:58:48 -04:00
..
basic.j2
break.j2
case_spec.j2
case_spec_be.j2 xdrgen: Implement big-endian enums 2024-11-11 13:42:00 -05:00
close.j2
default_spec.j2
open.j2
optional_data.j2
string.j2 xdrgen: Rename "variable-length strings" 2024-11-11 13:41:59 -05:00
switch_spec.j2
variable_length_array.j2 xdrgen: Fix code generated for counted arrays 2025-05-16 10:58:48 -04:00
variable_length_opaque.j2
void.j2