summaryrefslogtreecommitdiff
path: root/gst/typefind/gsttypefindfunctions.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/typefind/gsttypefindfunctions.c')
-rw-r--r--gst/typefind/gsttypefindfunctions.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c
index 60e8d066f..76dbb461c 100644
--- a/gst/typefind/gsttypefindfunctions.c
+++ b/gst/typefind/gsttypefindfunctions.c
@@ -4054,15 +4054,24 @@ pnm_type_find (GstTypeFind * tf, gpointer ununsed)
/* need to skip any comment lines first */
data_scan_ctx_advance (tf, &c, 3);
+
+ if (!data_scan_ctx_ensure_data (tf, &c, 1))
+ return;
+
while (c.data[0] == '#') { /* we know there's still data left */
data_scan_ctx_advance (tf, &c, 1);
+ if (!data_scan_ctx_ensure_data (tf, &c, 1))
+ return;
+
while (c.data[0] != '\n' && c.data[0] != '\r') {
- if (!data_scan_ctx_ensure_data (tf, &c, 4))
- return;
data_scan_ctx_advance (tf, &c, 1);
+ if (!data_scan_ctx_ensure_data (tf, &c, 1))
+ return;
}
data_scan_ctx_advance (tf, &c, 1);
GST_LOG ("skipped comment line in PNM header");
+ if (!data_scan_ctx_ensure_data (tf, &c, 1))
+ return;
}
if (!data_scan_ctx_ensure_data (tf, &c, 32) &&