Author: rfm
Date: Fri Mar 25 12:42:23 2016
New Revision: 39609

URL: http://svn.gna.org/viewcvs/gnustep?rev=39609&view=rev
Log:
Check for corrupt archive or unsupported number types as suggested by Fred

Modified:
    libs/base/trunk/Source/NSNumber.m

Modified: libs/base/trunk/Source/NSNumber.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSNumber.m?rev=39609&r1=39608&r2=39609&view=diff
==============================================================================
--- libs/base/trunk/Source/NSNumber.m   (original)
+++ libs/base/trunk/Source/NSNumber.m   Fri Mar 25 12:42:23 2016
@@ -1033,7 +1033,7 @@
   double doublebuf;
   void  *buffer;
 
-  [coder encodeValueOfObjCType: @encode (char) at: type];
+  [coder encodeValueOfObjCType: @encode(char) at: type];
 
   switch (type[0])
     {
@@ -1056,6 +1056,9 @@
         buffer = &floatbuf; break;
       case 'd':
         buffer = &doublebuf; break;
+      default:
+        [NSException raise: NSInternalInconsistencyException
+                    format: @"unknown NSNumber type '%s'", type];
     }
 
   [self getValue: buffer];
@@ -1080,7 +1083,7 @@
   double doublebuf;
   void *buffer;
 
-  [coder decodeValueOfObjCType: @encode (char) at: type];
+  [coder decodeValueOfObjCType: @encode(char) at: type];
   switch (type[0])
     {
       case 'c':
@@ -1102,7 +1105,10 @@
         buffer = &floatbuf; break;
       case 'd':
         buffer = &doublebuf; break;
-    }
+      default:
+        [NSException raise: NSInternalInconsistencyException
+                    format: @"unknown NSNumber type '%c'", type[0]];
+     }
   [coder decodeValueOfObjCType: type at: buffer];
   return [self initWithBytes: buffer objCType: type];
 }


_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to