Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
server:mail
libxls
0001-Fixes-94-possible-null-ptr-deref.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Fixes-94-possible-null-ptr-deref.patch of Package libxls
From 866fedeae65ba9ff12b6cf4449dee2096bb2da51 Mon Sep 17 00:00:00 2001 From: stephematician <stephematician@gmail.com> Date: Wed, 2 Mar 2022 15:01:51 +1100 Subject: [PATCH] Fixes #94 possible null ptr deref Changes due to lockedbyte and PR 97 conversation --- include/xls.h | 4 +++- src/xls.c | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) Index: libxls-1.6.2/include/xls.h =================================================================== --- libxls-1.6.2.orig/include/xls.h +++ libxls-1.6.2/include/xls.h @@ -49,7 +49,9 @@ typedef enum { LIBXLS_ERROR_SEEK, LIBXLS_ERROR_READ, LIBXLS_ERROR_PARSE, - LIBXLS_ERROR_MALLOC + LIBXLS_ERROR_MALLOC, + LIBXLS_ERROR_UNSUPPORTED_ENCRYPTION, + LIBXLS_ERROR_NULL_ARGUMENT } xls_error_t; const char* xls_getVersion(void); Index: libxls-1.6.2/src/xls.c =================================================================== --- libxls-1.6.2.orig/src/xls.c +++ libxls-1.6.2/src/xls.c @@ -830,6 +830,8 @@ int xls_isRecordTooSmall(xlsWorkBook *pW xls_error_t xls_parseWorkBook(xlsWorkBook* pWB) { + if(!pWB) return LIBXLS_ERROR_NULL_ARGUMENT; + BOF bof1 = { .id = 0, .size = 0 }; BOF bof2 = { .id = 0, .size = 0 }; BYTE* buf = NULL; @@ -1072,6 +1074,8 @@ cleanup: static xls_error_t xls_preparseWorkSheet(xlsWorkSheet* pWS) { + if(!pWS) return LIBXLS_ERROR_NULL_ARGUMENT; + BOF tmp; BYTE* buf = NULL; xls_error_t retval = LIBXLS_OK; @@ -1221,6 +1225,8 @@ static xls_error_t xls_formatColumn(xlsW xls_error_t xls_parseWorkSheet(xlsWorkSheet* pWS) { + if(!pWS) return LIBXLS_ERROR_NULL_ARGUMENT; + BOF tmp; BYTE* buf = NULL; long offset = pWS->filepos;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor