diff libmpdemux/realrtsp/sdpplin.c @ 12266:096072d234c6

Some sanity and bound checking
author rtognimp
date Sat, 24 Apr 2004 10:33:19 +0000
parents 6cb7a295ab0e
children 06a9914af502
line wrap: on
line diff
--- a/libmpdemux/realrtsp/sdpplin.c	Fri Apr 23 22:30:18 2004 +0000
+++ b/libmpdemux/realrtsp/sdpplin.c	Sat Apr 24 10:33:19 2004 +0000
@@ -96,13 +96,19 @@
 
 static char *nl(char *data) {
 
-  return strchr(data,'\n')+1;
+  char *nlptr = (data) ? strchr(data,'\n') : NULL;
+  return (nlptr) ? nlptr + 1 : NULL;
 }
 
 static int filter(const char *in, const char *filter, char **out) {
 
   int flen=strlen(filter);
-  int len=strchr(in,'\n')-in;
+  int len;
+
+  if (!in)
+    return 0;
+
+  len = (strchr(in,'\n')) ? strchr(in,'\n')-in : strlen(in);
 
   if (!strncmp(in,filter,flen))
   {
@@ -135,7 +141,7 @@
   }
   *data=nl(*data);
 
-  while (**data && *data[0]!='m') {
+  while (*data && **data && *data[0]!='m') {
 
     handled=0;
     
@@ -236,7 +242,7 @@
   int              handled;
   int              len;
 
-  while (*data) {
+  while (data && *data) {
 
     handled=0;