]> git.sur5r.net Git - openldap/blobdiff - libraries/liblber/io.c
Happy New Year!
[openldap] / libraries / liblber / io.c
index c1cf0ce70daf91b831277caae0906161924aac12..c0bca10fbf2511c6c6959ddd2dfd13737e3f9940 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2013 The OpenLDAP Foundation.
+ * Copyright 1998-2016 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -656,7 +656,8 @@ ber_get_next(
                ber_slen_t to_go;
                
                to_go = ber->ber_end - ber->ber_rwptr;
-               assert( to_go > 0 );
+               /* unsigned/signed overflow */
+               if (to_go<0) return LBER_DEFAULT;
                
                sock_errset(0);
                res = ber_int_sb_read( sb, ber->ber_rwptr, to_go );
@@ -679,7 +680,7 @@ done:
                return (ber->ber_tag);
        }
 
-       assert( 0 ); /* ber structure is messed up ?*/
+       /* invalid input */
        return LBER_DEFAULT;
 }