Linux/linux 156e429security/apparmor policy_unpack.c

apparmor: reset pos on failure to unpack for various functions

Each function that manipulates the aa_ext struct should reset it's "pos"
member on failure. This ensures that, on failure, no changes are made to
the state of the aa_ext struct.

There are paths were elements are optional and the error path is
used to indicate the optional element is not present. This means
instead of just aborting on error the unpack stream can become
unsynchronized on optional elements, if using one of the affected
functions.

Cc: stable at vger.kernel.org
Fixes: 736ec752d95e ("AppArmor: policy routines for loading and unpacking policy")
Signed-off-by: Mike Salvatore <mike.salvatore at canonical.com>
Signed-off-by: John Johansen <john.johansen at canonical.com>
DeltaFile
+39-8security/apparmor/policy_unpack.c
+39-81 files

UnifiedSplitRaw