aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-03-22 08:44:33 +0000
committerChristian Grothoff <christian@grothoff.org>2013-03-22 08:44:33 +0000
commit33f4f49804f7940a8ed95b3185bed27ad406c204 (patch)
tree171e1bdc072c776a61751e9f692b66f7dbf5a50d /src/util
parent9063a296aff487a8c3e9e7f619215a44f552adca (diff)
downloadgnunet-33f4f49804f7940a8ed95b3185bed27ad406c204.tar.gz
gnunet-33f4f49804f7940a8ed95b3185bed27ad406c204.zip
-never assert on bogus input, return error code
Diffstat (limited to 'src/util')
-rw-r--r--src/util/strings.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/util/strings.c b/src/util/strings.c
index de32b1c03..91d27d84e 100644
--- a/src/util/strings.c
+++ b/src/util/strings.c
@@ -852,7 +852,8 @@ GNUNET_STRINGS_string_to_data (const char *enc, size_t enclen,
852 return GNUNET_SYSERR; 852 return GNUNET_SYSERR;
853 while (wpos > 0) 853 while (wpos > 0)
854 { 854 {
855 GNUNET_assert (rpos > 0); 855 if (0 == rpos)
856 return GNUNET_SYSERR;
856 bits = ((ret = getValue__ (enc[--rpos])) << vbit) | bits; 857 bits = ((ret = getValue__ (enc[--rpos])) << vbit) | bits;
857 if (-1 == ret) 858 if (-1 == ret)
858 return GNUNET_SYSERR; 859 return GNUNET_SYSERR;
@@ -864,9 +865,9 @@ GNUNET_STRINGS_string_to_data (const char *enc, size_t enclen,
864 vbit -= 8; 865 vbit -= 8;
865 } 866 }
866 } 867 }
867 GNUNET_assert (rpos == 0); 868 if ( (0 != rpos) ||
868 GNUNET_assert (vbit == 0); 869 (0 != vbit) )
869 870 return GNUNET_SYSERR;
870 return GNUNET_OK; 871 return GNUNET_OK;
871} 872}
872 873