Fixed buffer overrun in handleDREF
This commit is contained in:
Binary file not shown.
@@ -804,8 +804,8 @@ int handleGETD(char buf[])
|
|||||||
char the_message[5000];
|
char the_message[5000];
|
||||||
char header[5] = {0};
|
char header[5] = {0};
|
||||||
int count = 6;
|
int count = 6;
|
||||||
float values[40] = {-998};
|
float values[100] = {-998};
|
||||||
int intArray[40] = {-998};
|
int intArray[100] = {-998};
|
||||||
int DREFSizes[100] = {0};
|
int DREFSizes[100] = {0};
|
||||||
char *DREFArray[100];
|
char *DREFArray[100];
|
||||||
|
|
||||||
@@ -871,12 +871,12 @@ int handleGETD(char buf[])
|
|||||||
|
|
||||||
{case 8: //Float Array
|
{case 8: //Float Array
|
||||||
length = XPLMGetDatavf(connectionList[current_connection].XPLMRequestedDRefs[i],NULL,0,8); //find size of array
|
length = XPLMGetDatavf(connectionList[current_connection].XPLMRequestedDRefs[i],NULL,0,8); //find size of array
|
||||||
XPLMGetDatavf(connectionList[current_connection].XPLMRequestedDRefs[i],values,0,length);
|
XPLMGetDatavf(connectionList[current_connection].XPLMRequestedDRefs[i],values,0,fminl(length,100));
|
||||||
break;}
|
break;}
|
||||||
|
|
||||||
{case 16: //Integer Array
|
{case 16: //Integer Array
|
||||||
length = XPLMGetDatavi(connectionList[current_connection].XPLMRequestedDRefs[i],NULL,0,8); //find size of array
|
length = XPLMGetDatavi(connectionList[current_connection].XPLMRequestedDRefs[i],NULL,0,8); //find size of array
|
||||||
XPLMGetDatavi(connectionList[current_connection].XPLMRequestedDRefs[i],intArray,0,length);
|
XPLMGetDatavi(connectionList[current_connection].XPLMRequestedDRefs[i],intArray,0,fminl(length,100));
|
||||||
for (k=0; k < length; k++) {
|
for (k=0; k < length; k++) {
|
||||||
values[k]=(float) intArray[k];
|
values[k]=(float) intArray[k];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
dependencies: \
|
dependencies: \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/XPCPlugin.cpp \
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/xpcPlugin/XPCPlugin.cpp \
|
||||||
SDK/CHeaders/XPLM/XPLMProcessing.h SDK/CHeaders/XPLM/XPLMDefs.h \
|
SDK/CHeaders/XPLM/XPLMProcessing.h SDK/CHeaders/XPLM/XPLMDefs.h \
|
||||||
SDK/CHeaders/XPLM/XPLMGraphics.h \
|
SDK/CHeaders/XPLM/XPLMGraphics.h \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/xpcPluginTools.h \
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/xpcPlugin/xpcPluginTools.h \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/C/src/xplaneConnect.h \
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/C/src/xplaneConnect.h \
|
||||||
SDK/CHeaders/XPLM/XPLMDataAccess.h
|
SDK/CHeaders/XPLM/XPLMDataAccess.h
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/xplaneConnect.o
|
/Users/cteubert/Documents/XPC Project/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/xplaneConnect.o
|
||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/XPCPlugin.o
|
/Users/cteubert/Documents/XPC Project/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/XPCPlugin.o
|
||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/xpcPluginTools.o
|
/Users/cteubert/Documents/XPC Project/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/xpcPluginTools.o
|
||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/xpcPlugin_vers.o
|
/Users/cteubert/Documents/XPC Project/XPlaneConnect/xpcPlugin/build/xpcPlugin.build/Debug/xpcPlugin.build/Objects-normal/x86_64/xpcPlugin_vers.o
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
dependencies: \
|
dependencies: \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/xpcPluginTools.cpp \
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/xpcPlugin/xpcPluginTools.cpp \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/xpcPlugin/xpcPluginTools.h \
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/xpcPlugin/xpcPluginTools.h \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/C/src/xplaneConnect.h \
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/C/src/xplaneConnect.h \
|
||||||
SDK/CHeaders/XPLM/XPLMDataAccess.h SDK/CHeaders/XPLM/XPLMDefs.h
|
SDK/CHeaders/XPLM/XPLMDataAccess.h SDK/CHeaders/XPLM/XPLMDefs.h
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,3 @@
|
|||||||
dependencies: \
|
dependencies: \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/C/src/xplaneConnect.c \
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/C/src/xplaneConnect.c \
|
||||||
/Users/cteubert/Documents/XPlaneConnect/C/src/xplaneConnect.h
|
/Users/cteubert/Documents/XPC\ Project/XPlaneConnect/C/src/xplaneConnect.h
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -17,5 +17,21 @@
|
|||||||
endingLineNumber = "12">
|
endingLineNumber = "12">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
</BreakpointProxy>
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
shouldBeEnabled = "No"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
filePath = "XPCPlugin.cpp"
|
||||||
|
timestampString = "438549105.218957"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "890"
|
||||||
|
endingLineNumber = "890"
|
||||||
|
landmarkName = "handleGETD(char buf[])"
|
||||||
|
landmarkType = "7">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
</Breakpoints>
|
</Breakpoints>
|
||||||
</Bucket>
|
</Bucket>
|
||||||
|
|||||||
Reference in New Issue
Block a user