Fixed coverity detected defect:

Incorrect values read from a different memory region will cause incorrect computations. In osgDB::​base64_decode_value(char): Out-of-bounds read from a buffer
This commit is contained in:
Robert Osfield 2016-06-17 10:57:17 +01:00
parent 5c89ae5a15
commit 8e26ebd23e

View File

@ -31,7 +31,7 @@ namespace osgDB
static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
static const char decoding_size = sizeof(decoding);
value_in -= 43;
if (value_in < 0 || value_in > decoding_size) return -1;
if (value_in < 0 || value_in >= decoding_size) return -1;
return decoding[(int)value_in];
}