1*c8d645caSAndroid Build Coastguard Worker# Regression test for issue #547: 2*c8d645caSAndroid Build Coastguard Worker# Buffer overflow when encoding bytes with size set to 65535 3*c8d645caSAndroid Build Coastguard Worker 4*c8d645caSAndroid Build Coastguard WorkerImport("env") 5*c8d645caSAndroid Build Coastguard Worker 6*c8d645caSAndroid Build Coastguard Workerenv.NanopbProto("test.proto") 7*c8d645caSAndroid Build Coastguard Worker 8*c8d645caSAndroid Build Coastguard Worker# Define the compilation options 9*c8d645caSAndroid Build Coastguard Workeropts = env.Clone() 10*c8d645caSAndroid Build Coastguard Workeropts.Append(CPPDEFINES = {'PB_FIELD_32BIT': 1}) 11*c8d645caSAndroid Build Coastguard Worker 12*c8d645caSAndroid Build Coastguard Worker# Build new version of core 13*c8d645caSAndroid Build Coastguard Workerstrict = opts.Clone() 14*c8d645caSAndroid Build Coastguard Workerstrict.Append(CFLAGS = strict['CORECFLAGS']) 15*c8d645caSAndroid Build Coastguard Workerstrict.Object("pb_encode_fields32.o", "$NANOPB/pb_encode.c") 16*c8d645caSAndroid Build Coastguard Workerstrict.Object("pb_common_fields32.o", "$NANOPB/pb_common.c") 17*c8d645caSAndroid Build Coastguard Worker 18*c8d645caSAndroid Build Coastguard Worker# Build and run test 19*c8d645caSAndroid Build Coastguard Workertest = opts.Program(["test.c", "test.pb.c", "pb_encode_fields32.o", "pb_common_fields32.o"]) 20*c8d645caSAndroid Build Coastguard Worker 21*c8d645caSAndroid Build Coastguard Workerenv.RunTest(test) 22