avcodec/libx264: check for param allocation failure error code
And return the proper AVERROR value. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
		
							parent
							
								
									d1bd079d11
								
							
						
					
					
						commit
						03ad76794e
					
				@ -529,6 +529,12 @@ static int parse_opts(AVCodecContext *avctx, const char *opt, const char *param)
 | 
				
			|||||||
            av_log(avctx, AV_LOG_ERROR,
 | 
					            av_log(avctx, AV_LOG_ERROR,
 | 
				
			||||||
                   "bad option '%s': '%s'\n", opt, param);
 | 
					                   "bad option '%s': '%s'\n", opt, param);
 | 
				
			||||||
            ret = AVERROR(EINVAL);
 | 
					            ret = AVERROR(EINVAL);
 | 
				
			||||||
 | 
					#if X264_BUILD >= 161
 | 
				
			||||||
 | 
					        } else if (ret == X264_PARAM_ALLOC_FAILED) {
 | 
				
			||||||
 | 
					            av_log(avctx, AV_LOG_ERROR,
 | 
				
			||||||
 | 
					                   "out of memory parsing option '%s': '%s'\n", opt, param);
 | 
				
			||||||
 | 
					            ret = AVERROR(ENOMEM);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            av_log(avctx, AV_LOG_ERROR,
 | 
					            av_log(avctx, AV_LOG_ERROR,
 | 
				
			||||||
                   "bad value for '%s': '%s'\n", opt, param);
 | 
					                   "bad value for '%s': '%s'\n", opt, param);
 | 
				
			||||||
@ -914,10 +920,15 @@ FF_ENABLE_DEPRECATION_WARNINGS
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        AVDictionaryEntry *en = NULL;
 | 
					        AVDictionaryEntry *en = NULL;
 | 
				
			||||||
        while (en = av_dict_get(x4->x264_params, "", en, AV_DICT_IGNORE_SUFFIX)) {
 | 
					        while (en = av_dict_get(x4->x264_params, "", en, AV_DICT_IGNORE_SUFFIX)) {
 | 
				
			||||||
           if (x264_param_parse(&x4->params, en->key, en->value) < 0)
 | 
					           if ((ret = x264_param_parse(&x4->params, en->key, en->value)) < 0) {
 | 
				
			||||||
               av_log(avctx, AV_LOG_WARNING,
 | 
					               av_log(avctx, AV_LOG_WARNING,
 | 
				
			||||||
                      "Error parsing option '%s = %s'.\n",
 | 
					                      "Error parsing option '%s = %s'.\n",
 | 
				
			||||||
                       en->key, en->value);
 | 
					                       en->key, en->value);
 | 
				
			||||||
 | 
					#if X264_BUILD >= 161
 | 
				
			||||||
 | 
					               if (ret == X264_PARAM_ALLOC_FAILED)
 | 
				
			||||||
 | 
					                   return AVERROR(ENOMEM);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					           }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user